IMAP4サーバ送受信エラー後、新着監視しなNo.49487
にゃごにゃご さん 16/03/15 14:48
 
秀丸メール6.51を使用しています。
IMAP4のサーバに接続してINBOXを新着監視してリアルタイムにメール着信を受けてい
ます。
ところが、当方のサーバは頻繁に「送受信エラーの記録」ウィンドウが出ます。(ア
カウント: Exchange serverでのエラー。IMAP4用のパスワードまたはメールアカウン
トが間違っているか、または認証に失敗しました。エラー内容 = NO LOGIN failed.)
このエラーの原因は良く分かりませんが、リトライすると正常にメールを送受信でき
ます。
このウィンドウには「このエラーメッセージを5分後に自動で閉じる(A)」チェックボ
ックスがありますが、
これをチェックしただけだとウィンドウは消えるものの、新着監視が始まりません。
新着監視を再開するには手動で「受信」アイコンをクリックしています。
ただ、新着監視しているものだと思い込んでいて、「送受信エラーの記録」ウィンド
ウが出て、
気づかないうちに5分経過してそのウィンドウが消えると、新着メールを受け取れな
くなっているのに
その状況を知らないという事態になります。
そこで要望ですが、ウィンドウを消すチェックボックスを入れた場合、
さらに新着監視を再開するオプションを用意していただけませんでしょうか?
また、「送受信エラーの記録」ウィンドウを閉じるまでの時間も5分以外に
(例えば1分)カスタマイズ出来るようにしていただけるとなお助かります。
当方のサーバではリトライするとすぐに正常に送受信しますので、
こういった設定が欲しいです。

よろしくお願いします。

[ ]
RE:49487 IMAP4サーバ送受信エラー後、新No.49489
秀まるお2 さん 16/03/15 17:02
 
 僕もテスト用にOutlook.comとかlive.com(どっちみち同じ?)のメールアカ
ウントを持ってて毎日受信してますが、こっちも時々エラーが出ます。

 エラーが出る原因は僕も教えて欲しいです。

 で、何かいい対策が無いか探してみたら、1つオプションがありました。「設
定・アカウント毎の設定...」の「メールサーバー・詳細・二次サーバー」って
ページに、

   □ サーバーへのログインに失敗したら再試行する

 ってオプションがあります。これをONにしておくと、ログインに失敗しても5
秒待ってから再試行するって動作を最高5回まで繰り返すようです。

 これで回避しやすくなるかなぁと思います。

 秀丸メールに改良を加えるとしたら、ここの動作をログインに成功するまでず
っと繰り返すって作戦もあるかなぁと思いました。ただ、5秒間隔で永久ループ
させるのはサーバーへのサイバー攻撃と見なされる可能性があるので、例えば
5回やってダメなら1分待ってまた5回再試行するとか、そういうパターンを繰
り返すとか。

   □ 成功するまでずっと繰り返す

 っていうサブオプションを追加して、それがONならずっとログインの再試行を
やりつづけるようにすれば、結果的に期待された動作になるような気がします。

 そういうのどうでしょうか。

[ ]
RE:49489 IMAP4サーバ送受信エラー後、新No.49495
にゃごにゃご さん 16/03/15 19:41
 
ありがとうございます。

>   □ サーバーへのログインに失敗したら再試行する


気になったのが以下のhelpの内容です。
>ここのオプションをONにすると、POP3サーバーに接続してログインしようとしてエ
>ラーになった時に、5秒ウェイトを入れてから再度サーバーに接続してログインを
>再試行します。最高5回再試行します。

POP3もIMAP4も同じ扱いで差はないのか不安です。
POP3のログインとIMAP4のIDLEコマンドの再試行って同じなのか分かりません。
でも、まずはとにかく、上記を1日試してみます。

>   □ 成功するまでずっと繰り返す
>
> っていうサブオプションを追加して、それがONならずっとログインの再試行を
>やりつづけるようにすれば、結果的に期待された動作になるような気がします。
その際にはリトライ間隔が倍々で長くなる実装がいいです。
5秒、10秒、20秒、40秒、80秒...

よろしくお願いします。


[ ]
RE:49495 IMAP4サーバ送受信エラー後、新No.49498
秀まるお2 さん 16/03/16 10:06
 
 今さら思ったことですが、最初の話にある、

> このウィンドウには「このエラーメッセージを5分後に自動で閉じる(A)」チェックボ
> ックスがありますが、
> これをチェックしただけだとウィンドウは消えるものの、新着監視が始まりません。

 の件ですが、そもそも的に、IDLEコマンドで新着監視してるってことは、定期
受信がONになってるってことだ思うので、だとしたら、定期受信のタイミングで
新着監視は復活するんじないかとは思います。

 ただ、定期受信が開始されるまで時間がかかるので、その間新着監視がなされ
なくて困るってことではありますが。(それが今回の要望ということだと解釈し
ますと)

>   □ 成功するまでずっと繰り返す

 とりあえずこのオプション追加はそんなに難しくないので、さっそく追加させ
ていただきます。それとオプションの存在がわかりにくいので、「二次
サーバー」って設定ページの名称を「再試行」か「リトライ」にしようと思いま
す。

[ ]
RE:49498 IMAP4サーバ送受信エラー後、新No.49500
にゃごにゃご さん 16/03/16 15:05
 
今日はVPN越しの接続のせいか、以前の構成のままでも「送受信のエラー」が出ません。
なので、二次サーバーのリトライの効果を確認できません。

ところで、IMAP4サーバの993ポートとの通信を監視していてわかったことがあります。
SSLなので内容はわかりませんが、通信のタイミングで何が起きているかは見当がつ
きました。
当方での定期受信の間隔は7分にしてあります。
メールの送受信の最後の通信後、何も通信がない時間が5分経過すると、IMAP4サーバ
から"993 -> 53229 [RST, ACK] Seq=375423 Ack=965 Win=0 Len=0"というパケットを
受信し、その時に(新着監視中)が消えることがわかりました。この状態だと新着メー
ルがIMAP4サーバに届いても秀丸メールに通知しませんでした。その後、定期受信が
発生すると(新着監視中)になりました。
これから定期受信の間隔を5分未満(つまり4分)にして(新着監視中)が消えないかどう
かを試します。

[ ]
RE:49500 IMAP4サーバ送受信エラー後、新No.49501
にゃごにゃご さん 16/03/16 15:20
 

失礼しました、質問に回答していませんでした。

>  の件ですが、そもそも的に、IDLEコマンドで新着監視してるってことは、定期
> 受信がONになってるってことだ思うので、だとしたら、定期受信のタイミングで
>新着監視は復活するんじないかとは思います。
いいえ、定期受信のタイミングでも新着監視は復活していませんでした。
要望は新着監視が切れてから定期受信までの間に新着監視を復活させることではなく、
ひとたび新着監視が切れたら定期受信のタイミングの後でも監視しなくなるので、
「送受信エラーの記録」ウィンドウが閉じるタイミングで新着監視を
復活させて欲しい、
というものです。

>   □ 成功するまでずっと繰り返す

> とりあえずこのオプション追加はそんなに難しくないので、さっそく追加させ
 >ていただきます。それとオプションの存在がわかりにくいので、「二次
>サーバー」って設定ページの名称を「再試行」か「リトライ」にしようと思います。

まだ、現時点では二次サーバのリトライが有効か検証できておりませんが、そちらで
論理的に有効と判断されたのでしたら実装をお願いします。

[ ]
RE:49501 IMAP4サーバ送受信エラー後、新No.49502
秀まるお2 さん 16/03/17 09:31
 
>>新着監視は復活するんじないかとは思います。
> いいえ、定期受信のタイミングでも新着監視は復活していませんでした。

 こちらで改めてテストしてみたんですが、「(新着監視中)」の表示が消えてる
状態で定期受信のタイミングが来れば、そこでたしかに定期受信が実行されて、
定期受信の実行後はまた「(新着監視中)」の状態に戻るようでした。

 とりあえず1つお願いで、

 「設定・全般的な設定...」の「上級者向け - 動作の記録」の中にある

   □ 秀丸メールの動作をdump.txtに記録する

 をONにして使って欲しいです。

 例えば定期受信のアカウント(僕だとgmail)を選択して「受信」を実行しつ
つ、Pauseキーを押して中断させます。そうすると、新着監視中じゃなくなりま
す。その状態でしばらく放置して、定期受信が始まるのを待ちます。そういう
テストをしてみて欲しいです。

 僕の所では、dump.txtには、

09:23:49.660 (10116) FrameWndProc() IDTIMER_AUTODOWN
09:23:49.660 (2030) IsProcessExitable: ShowFrame
09:23:49.660 (20897) StopAutoDownTimer()
09:23:49.660 (11572) CTrans::AutoDown()
・・・・


 のように定期受信のタイマーが届いて定期受信が起動しつつ、


09:23:49.686 (10254) 準備中
09:23:49.687 (9909) ProcessTransmitSub() ModelessDialog, TransDlgProc
09:23:49.687 (  93) SilentDialogBox()
09:23:49.688 (8539) TransDlgProc() WM_INITDIALOG
09:23:49.688 (8571) IDTIMER_TRANS_START set
09:23:49.706 (8713) IDTIMER_TRANS_START kill
09:23:49.708 (12502) StartOAuth: ftNow < ftOAuthExpire
09:23:49.708 (10254) 受信 - gmail.com  ...  OAuth認証 - 18分前に済み
09:23:49.709 (10254) サーバーを検索中 - imap.gmail.com

 みたいな感じで受信がたしかに始まるのが確認できます。

 しばらく待つのが面倒でしたら「設定 - 今すぐ定期受信」を実行してもいい
と思います。

 その辺どうでしょうか。

[ ]
RE:49500 IMAP4サーバ送受信エラー後、新No.49503
秀まるお2 さん 16/03/17 10:12
 
> メールの送受信の最後の通信後、何も通信がない時間が5分経過すると、IMAP4サーバ
> から"993 -> 53229 [RST, ACK] Seq=375423 Ack=965 Win=0 Len=0"というパケットを
> 受信し、その時に(新着監視中)が消えることがわかりました。

 IDLE中にサーバーから届くしたら、それはサーバーからの新着の通知じゃない
かと思いますけども、だとしたら、その直後に受信が動作しないといけないで
す。???

 それ以外の通信としては、おおよそ5分に1回の頻度で何かデータをやりとり
しないといけない(ルーターがタイムアウトする恐れがある)ので、

  秀丸メールから   DONEコマンド送信
  サーバーから応答
  秀丸メールから再度、IDLEコマンド送信
  サーバーから応答

 って手続きをします。

 dump.txtを取る設定にしていただければ、その辺のやりとりのログも出ます。

09:25:03.685 ( 284) DONE

09:25:03.951 ( 107) C41 OK IDLE terminated (Success)

09:25:03.951 ( 284) C0 IDLE

09:25:04.218 ( 107) + idling


 みたいな感じになります。


[ ]
RE:49503 IMAP4サーバ送受信エラー後、新No.49537
秀まるお2 さん 16/03/25 08:54
 
 一応会議室にも書いておきますが、にゃごにゃごさんからログを送っていただ
いて、結果分かったことは・・・

 今回のこの「サーバーへのログインに失敗したら再試行する」のオプションで
すが、POP3の時しか効いてませんでした。肝心のIMAP4の方では全然効いてませ
んでした。

 次のバージョンにて修正させていただきます。

 次のバージョンは、迷惑メールフィルターで最近出回ってるウイルス入り
メール対応したいのと、特定メールの受信で落ちてしまう問題の対応もあるので、
1回正式版として出そうと思います。

[ ]
RE:49537 IMAP4サーバ送受信エラー後、新No.49541
にゃごにゃご さん 16/03/26 00:52
 
早速の6.52のリリース、ありがとうございます。

結果は3/29までに報告させていただきます。

よろしくお願いします。



[ ]
RE:49541 IMAP4サーバ送受信エラー後、新No.49567
にゃごにゃご さん 16/03/28 17:06
 
6.52で「NO LOGIN failed.」の直後に「ログインに失敗したので再試行します (1回
目)」となり、期待した動作となりました。
ありがとうございました。

[ ]