リモートメール受信時No.03609
こさく さん 11/03/08 14:49
 
いつもお世話になっております、こさくと申します。

件名の動作時に不具合と思われる現象が起こりましたのでご連絡させていただき
ます。

複数のアカウントが設定されていて定期受信を行っています。問題のアカウント
のみ「一覧の取得のみ」としています。

そこにメールが二通来たので手動で「ダウンロード対象」にして受信動作を行っ
たところ、一通受信状態のプログレスバーで停止(20秒位)したので中断しました。
すると、二通のメール内容がくっついたようなメール本文になりました。

一通目は、携帯からのメールで本文は「ありがとう=」だけ。=は絵文字らしく、
秀丸エディタでは0x81ACでした。
二通目は、企業からの自動送信メールです。

中断後、再度選択してダウンロードしたら正常に受信できました。

個人メアドが出ているので、どんなメールかここには書けませんがメアド指定し
ていただければお送りいたします。
残念ながら、「動作の記録」は三つとも取っていませんでした。

サーバには、問題のメール含めて22通あり、容量は100kB程度でした。

環境
WindowsXP SP3
秀丸メール  Ver5.70beta3
秀丸エディタ Ver8.03Beta14

以上よろしくお願いします。

[ ]
RE:03609 リモートメール受信時No.03610
秀まるお さん 11/03/08 15:24
 
 とりあえず今ちょっと簡単に、リモートメール一覧上でメールを2通選択して
受信するテストをした限りでは、うまく受信するようでした。

 2通のメールが1通になってしまって、しかも受信が途中で先に進まなくなっ
たということであれば、まず1つ、「アカウント毎の設定・メールサーバー」の
「メール受信の高速化」がONになってる可能性が高いと思います。

 ここがONになっていると、秀丸メールはコマンドをフライング送信します。例
えばメールを受信するには「RETR」というコマンドにメールの番号を付けて送信
するんですが、それを2つまとめて送信します。例えば

    S RETR 1
    S RETR 2
    R +OK 57994 byte(s)
    R ...(57994バイト)
    I 1 / 2 済み (57K / 86Kバイト)
    R +OK 30430 byte(s)
    R ...(30430バイト)
    I 2 / 2 済み (86K / 86Kバイト)

 のように、1番のメールの内容を要求する命令を出したら、その内容が届く前
に、2番のメールも要求してしまいます。

 こうすると、メールサーバー側は1番のメール内容を送信して、即座に2番の
メールも送信します。

 今回のケースは、たぶんですけども、上記のような形でメールサーバーが2通
のメールを応答したけども、何らかの理由で1通目のメール末尾の文字列が消え
てしまって、それであたかも2通のメールが1通たけになったかのように見えて
しまったんだと思います。そうすると秀丸メールは2通目は届かないということ
で、それで受信が止まってしまったということも説明出来ます。

 ということで、まずはその「メール受信の高速化」がONになってると思います
が、どうでしょうか?

 とりあえずそうだとしたら、実はそのオプションは、アンチウィルスソフトの
メール検索機能と相性が悪いというのが以前からありました。アンチウィルソフ
トの種類によって、こういう特殊なデータのやりとりで誤動作する場合があって、
その場合にメールが化けてしまったり受信が止まったりといったことが以前から
ありました。

 なので、そういうケースだとしたら、オプションOFFにして使っていただけれ
ばいいと思いますけども…。

 ということでどうでしょうか。

 ただ、メール2通が1通であるかのようになってしまう現象が起きるとしたら、
それはそれでだまって見過ごすのはまずい問題かもしれないので、何かこの
「メール受信の高速化」がONの時にはメール内容についてのエラーチェック、例
えばLISTコマンド時に返ってくるメールサイズよりも受信したメールサイズが大
きくなってたらエラーで止める等の対策を入れた方がいいかもしれません。

[ ]
RE:03610 リモートメール受信時No.03611
こさく さん 11/03/08 15:47
 
こさくです。
ご確認ありがとうございます。

>「メール受信の高速化」がONになってる可能性が高いと思います。
ハッと思って確認しましたが、OFFでした。ちなみにアンチウィルスソフトは
「ESET NOD32」というものです。

で先ほどの書込で伝え切れていなかったのですが、メールは次のようにヘッダが
繋がっているイメージです。
--------------------------------------------

ありがとう〓+OK 2785 octets follow.
Return-Path: <二通目の送信元アドレス>
 :
 :ここは全部二通目のヘッダと思われます
 :
Subject:
 =?ISO-2022-JP?B・・・・・
MIME-version: 1.0
Content-type: text/plain; charset=ISO-2022-JP
Content-transfer-encoding: 7bit
X-EsetId: 4CF16627C66732381BB5

************************************************************************
*
   本メールは、システムから自動的に送信されるメールです。
************************************************************************
*
以下二通目の本文が最後まで。
--------------------------------------------

いままで長いこと(開発当初より)使ってきて初めてのことですし、他の方から同
じような現象は無さそうですのであまり時間をかけない方が良いかもしれません。

以上です。

[ ]
RE:03611 リモートメール受信時No.03612
秀まるお さん 11/03/08 16:16
 
 「メール受信の高速化」がOFFの場合なら、メールの要求は1通ずつ実行され
ます。なので、そういうケースで2通のメールがくっついて1通になるとしたら、
秀丸メールの中でメールがくっついたか、あるいはメールサーバーがメールをく
っつけて送ってきたか、あるいはアンチウィルソフトがメールを改変する処理で
メールが壊れたかどれかなんだろうと思います。

 秀丸メールの内部で2通のメールが間違ってくっついたとしたら、メールサー
バーとのやりとりは普通にうまくいってしまう可能性が高いと思います。受信が
途中で止まってしまったということは、やはり何か、通信経路上かメールサー
バーの返すデータか何かがおかしくなっていて、それの結果としてメールかくっ
ついたり受信が止まったりといった現象か同時に発生したと考える方が適当なの
ではないかと思います。

 今現在もう再現しないということになると、ほとんど検証は不可能に近いと思
います。なので、たぶん上記のように、何か不確定要素的なことがからんでたま
たま起きたんじゃないかということで了解いただくしか無いような気がします。


-------------------------------------------------

 実はつい最近追加したオプションとして、「アカウント毎の設定・上級者向
け・容量/サイズチェック」の

 「LISTコマンド時のメールサイズと実際のメールサイズが同じかチェックする」

 というのがあって、それをONにしていると、今回のようなケースはエラーで判
別することが出来ることになります。とりあえずそれをONにしてしばらく使って
いただくということでどうでしょうか。

 メールサーバーによっては元々LISTコマンドで返すメールサイズが間違ってる
ケースもあって、そういう場合はエラーが出まくって使い物にならないのですけ
ども…。普通はうまく機能してくれると思います。

[ ]
RE:03612 リモートメール受信時No.03613
こさく さん 11/03/08 17:25
 
こさくです。
色々解説どうもありがとうございました。

> 「LISTコマンド時のメールサイズと実際のメールサイズが同じかチェックする」
これと動作の記録を設定して、様子を見ます。
これにてこの件は締めさせていただきます。

[ ]