[ 新規に投稿する ]

IMAPシステムでメールの増殖No.12416
ポン太 さん 24/03/06 11:38 [ コメントを投稿する ]
  秀まるお2さん、こんにちは。ポン太 です。
どういう情報をお出しすれば良いのかわからないのですが。

会社でCybermailというIMAP4サーバーにもなるメールシステムをオンプレで導入しました。
現在秀丸メールでIMAP4サーバーとして、色々同期するモードで運用しています。
で、今現在困っていることが一つあって、送信済みメールが増殖するという現象です。

具体的には普通にメールを送信すると、IMAP4サーバー側の送信BOXというところに保存されます(サーバー側が勝手にやっているんだと思います)。送信後受信操作をすると送信BOXフォルダに未読のメールが一通出来上がります。それを秀丸メールで「受信」のところに移動させてやります。その後受信しても特に変化はありません。
ここまでは期待どおりなのですが、その後受信操作のときに何故か受信フォルダに入れた送信済みメールが再度受信されます。場合によっては元も含めると3,4通になることもあります。再度受信されるのは一部のメールです。
この原因が設定も含めた秀丸メール側の問題か、Cybermail側の問題かがわかりません。

とりあえず秀丸メール側の問題かどうかを調べられたらと思います。一応smtp_pop3.txtは取るようにしているので、あとはどういう情報をお出しすれば調べてきただけますか?

よろしくお願いします。


2024/03/06(水) 11:23 ポン太
[ ]
RE:12416 IMAPシステムでメールの増殖No.12417
ポン太 さん 24/03/06 12:00 [ コメントを投稿する ]
  すみません、そういえば頻度は落ちるような気がするのですが、普通に削除して削除を同期させた後に、受信すると削除したものを再度受信することがあります。
したがって送信済みメールに関してのみという現象ではありません。

私の同期の設定がおかしいのでしょうか?

IMAP4的にフォルダやメールを同期させるモードで、即座に同期とフォルダの削除はしないのチェックだけ入ってません。


2024/03/06(水) 11:46 ポン太
[ ]
RE:12417 IMAPシステムでメールの増殖No.12418
さん 24/03/06 12:33 [ コメントを投稿する ]
   こんにちは、 陸です。

 横からすみません。

 以前、私も同じような現象に遭遇してこちらに報告後、V7.25あたりで修正していただきました。
 その後しばらくは大丈夫だったんですが、同じような現象が最近ときどき発生しています。
 一応そのときのダンプは残してありますが。
 何も参考にならない投稿ですみません。

 それでは。
[ ]
RE:12418 IMAPシステムでメールの増殖No.12419
秀まるお2 さん 24/03/06 13:52 [ コメントを投稿する ]
   秀丸メールのIMAP4は「POP3風モード」と「同期モード」の2種類があるのですが、どっちなのかが1つ問題です。

 IMAP4の場合もPOP3の場合も、メールサーバーがメールにIDを割り振ります。「UID」って言います。これが変化すると秀丸メールは違うメールと認識するので、再度受信してしまうことはありえます。

 UIDは、IMAP4のアカウントだと、X-TuruKame-UIDL:ってヘッダで確認できます。とりあえずそれが一致してるかどうか見てみてほしいです。

 UIDが特定できたら、それを送受信のやりとり記録から探していつダウンロードしてるかも確認できるかなぁと思います。

 その辺どうでしょうか。

 UIDが変化しても、IMAP4の同期モードの場合なら、変化した後のメールを受信しつつ、変化前のメールは秀丸メール上から削除されるような動作になって、結果的に1つだけ見えるようになると思います。POP3風モードだと増殖したように見えてしまいます。
[ ]
RE:12419 IMAPシステムでメールの増殖No.12420
ポン太 さん 24/03/06 15:26 [ コメントを投稿する ]
  秀まるお2 さん、こんにちは。ポン太 です。

「同期モード」の方です。
それから増殖したメールと元のメールではX-TuruKame-UIDLは変わっています。
結果的に1つだけ見えているわけではありません。増殖しています。

送受信のやり取りは後で見てみます。

2024/03/06(水) 15:19 ポン太

> 秀丸メールのIMAP4は「POP3風モード」と「同期モード」の2種類があるのですが、
>どっちなのかが1つ問題です。
>
> IMAP4の場合もPOP3の場合も、メールサーバーがメールにIDを割り振ります。
>「UID」って言います。これが変化すると秀丸メールは違うメールと認識するので、再
>度受信してしまうことはありえます。
>
> UIDは、IMAP4のアカウントだと、X-TuruKame-UIDL:ってヘッダで確認できます。と
>りあえずそれが一致してるかどうか見てみてほしいです。
>
> UIDが特定できたら、それを送受信のやりとり記録から探していつダウンロードして
>るかも確認できるかなぁと思います。
>
> その辺どうでしょうか。
>
> UIDが変化しても、IMAP4の同期モードの場合なら、変化した後のメールを受信しつ
>つ、変化前のメールは秀丸メール上から削除されるような動作になって、結果的に1
>つだけ見えるようになると思います。POP3風モードだと増殖したように見えてしまい
>ます。
[ ]
RE:12420 IMAPシステムでメールの増殖No.12422
秀まるお2 さん 24/03/06 15:43 [ コメントを投稿する ]
   サーバー上実際にメールが増殖してるのなら、メールサーバー側に何か問題があるか、または秀丸メールが何らかの理由でアップロードしてるかどっちかになるかなぁと思います。

 サーバー上のメール一覧は、秀丸メールから

    FETCH 1:* (UID)

 みたいなコマンドの応答を見ると分かりまして、それは、「全般的な設定・上級者向け・動作の記録」の中の、

    □ 秀丸メールの動作をdump.txtに記録する
    □ UIDL/LISTコマンドの内容

 の両方をONにすると分かります。例えば僕の所だと、例えばINBOXのメール一覧の取得は、

    S C5 FETCH 1:* (UID)

 のコマンドの後に

* 1 FETCH (UID 26169)
* 2 FETCH (UID 26173)
* 3 FETCH (UID 26174)
* 4 FETCH (UID 26175)
* 5 FETCH (UID 26176)
* 6 FETCH (UID 26177)
* 7 FETCH (UID 26178)
C5 OK Success

 みたいな記録があって、7通のメールがあって、それぞれのUIDも上記の「26169」等であることが分かります。これらと実際のメールのX-TuruKame-UIDL:ヘッダの中身と比較して矛盾が無ければ、秀丸メール的には正しい動作をしてるはずになります。

 INBOX以外のフォルダのメールだと、X-TuruKame-UIDL:ヘッダがちょっと特殊で、フォルダ名とUIDの間にEscape制御文字を入れて保存してます。

 かなり手間がかかってしまいますが、1回調べてみてほしいです。

 メールが増殖、特に送信済みメールが増殖するとしたら、「アカウント毎の設定・メールサーバー・POP3/IMAP4・送信済みメール」の所でアップロードの指示をしてる可能性と、他には振り分けでコピーさせてる可能性とかがありえるかなぁと思います。
[ ]
RE:12420 IMAPシステムでメールの増殖No.12423
ポン太 さん 24/03/06 16:02 [ コメントを投稿する ]
  秀まるお2 さん、こんにちは。ポン太 です。

当該メールのログをエクスポートしたものだとX-TuruKame-UIDLは変わっていませんが、メールをエクスポートしたものだとX-TuruKame-UIDLは変わっています。
ログと合わせてメールでお送りしました。

ログは私が見てもよくわかりませんでした。


2024/03/06(水) 16:00 ポン太

>秀まるお2 さん、こんにちは。ポン太 です。
>
>「同期モード」の方です。
>それから増殖したメールと元のメールではX-TuruKame-UIDLは変わっています。
>結果的に1つだけ見えているわけではありません。増殖しています。
>
>送受信のやり取りは後で見てみます。
>
>2024/03/06(水) 15:19 ポン太
>
>> 秀丸メールのIMAP4は「POP3風モード」と「同期モード」の2種類があるのですが、
>>どっちなのかが1つ問題です。
>>
>> IMAP4の場合もPOP3の場合も、メールサーバーがメールにIDを割り振ります。
>>「UID」って言います。これが変化すると秀丸メールは違うメールと認識するので、
>>再
>>度受信してしまうことはありえます。
>>
>> UIDは、IMAP4のアカウントだと、X-TuruKame-UIDL:ってヘッダで確認できます。と
>>りあえずそれが一致してるかどうか見てみてほしいです。
>>
>> UIDが特定できたら、それを送受信のやりとり記録から探していつダウンロードし
>>て
>>るかも確認できるかなぁと思います。
>>
>> その辺どうでしょうか。
>>
>> UIDが変化しても、IMAP4の同期モードの場合なら、変化した後のメールを受信しつ
>>つ、変化前のメールは秀丸メール上から削除されるような動作になって、結果的に1
>>つだけ見えるようになると思います。POP3風モードだと増殖したように見えてしまい
>>ます。
[ ]
RE:12422 IMAPシステムでメールの増殖No.12424
ポン太 さん 24/03/06 16:05 [ コメントを投稿する ]
  秀まるお2 さん、こんにちは。ポン太 です。

「□ UIDL/LISTコマンドの内容」のチェックはオンになっていませんでしたので、オンにしてまた増殖するのを待ってから見てみます。

2024/03/06(水) 16:04 ポン太


> サーバー上実際にメールが増殖してるのなら、メールサーバー側に何か問題がある
>か、または秀丸メールが何らかの理由でアップロードしてるかどっちかになるかなぁ
>と思います。
>
> サーバー上のメール一覧は、秀丸メールから
>
>    FETCH 1:* (UID)
>
> みたいなコマンドの応答を見ると分かりまして、それは、「全般的な設定・上級者
>向け・動作の記録」の中の、
>
>    □ 秀丸メールの動作をdump.txtに記録する
>    □ UIDL/LISTコマンドの内容
>
> の両方をONにすると分かります。例えば僕の所だと、例えばINBOXのメール一覧の取
>得は、
>
>    S C5 FETCH 1:* (UID)
>
> のコマンドの後に
>
>* 1 FETCH (UID 26169)
>* 2 FETCH (UID 26173)
>* 3 FETCH (UID 26174)
>* 4 FETCH (UID 26175)
>* 5 FETCH (UID 26176)
>* 6 FETCH (UID 26177)
>* 7 FETCH (UID 26178)
>C5 OK Success
>
> みたいな記録があって、7通のメールがあって、それぞれのUIDも上記の「26169」
>等であることが分かります。これらと実際のメールのX-TuruKame-UIDL:ヘッダの中身
>と比較して矛盾が無ければ、秀丸メール的には正しい動作をしてるはずになります。
>
> INBOX以外のフォルダのメールだと、X-TuruKame-UIDL:ヘッダがちょっと特殊で、フ
>ォルダ名とUIDの間にEscape制御文字を入れて保存してます。
>
> かなり手間がかかってしまいますが、1回調べてみてほしいです。
>
> メールが増殖、特に送信済みメールが増殖するとしたら、「アカウント毎の設定・
>メールサーバー・POP3/IMAP4・送信済みメール」の所でアップロードの指示をしてる
>可能性と、他には振り分けでコピーさせてる可能性とかがありえるかなぁと思います。
[ ]
RE:12424 IMAPシステムでメールの増殖No.12425
秀まるお2 さん 24/03/07 09:03 [ コメントを投稿する ]
   送っていただいたemlファイルおよびsmtp_pop3.txtの内容から起きてる現象を想像してお返事させていただきます。

■1.受信フォルダの重複メールについて

Export000000.eml ログのエクスポートしたもの、元メール
Export000001.eml ログのエクスポートしたもの、増殖メール

 この2つのメールはX-TuruKame-UIDL:ヘッダの内容がまったく同じになってしまってて、つまり、秀丸メールが何らかの理由で同じメールを2通に増殖させたんだと思います。なぜそうなってしまったのかは分からずですが、そうなる可能性についてはこれから調べてみて、問題になりそうな処理を見つけたら何か対策を入れようと思います。

 とりあえず、この2通のメールを1通に戻すとしたら、ちょっと面倒な操作が必要です。

 1.2通のうちの1通を削除する。
 2.もしも直後に同期しようとしたら、Pauseキーを連打して中断させる。
 3.「アカウント毎の設定・メールサーバー・POP3/IMAP4」の中の「同期予定の確認...」
   を押すと、削除の同期についての予定が出てくるので、そこで「すべての予定の取り消し」
   を押して取り消す。
 4.普通に受信してメールが1通だけ残ることを確認する。

 です。

■2.ゴミ箱フォルダの重複メールについて

Export000002.eml メールをエクスポートしたもの、元メール
Export000003.eml メールをエクスポートしたもの、増殖メール

 こちらについてはX-TuruKame-UIDL:ヘッダの内容が一致してないので、サーバー上にたしかに同じメールが2通存在してるというか、サーバー上で増殖したんだと思います。これは、もしかしたら「1」のような形で増殖したメールをゴミ箱に移動して発生したんじゃないかという気がします。

 とりあえずは「1」の方が問題だと思うので、こっちは今のところは考えないことにさせていただきます。

 あと、送っていただいた添付ファイルは完全に削除させていただきます。

 「1」の問題が起きないような対策が出来たらまたβ版アップロードしたいと思います。
[ ]
RE:12425 IMAPシステムでメールの増殖No.12426
ポン太 さん 24/03/07 09:37 [ コメントを投稿する ]
  秀まるお2 さん、こんにちは。ポン太 です。

今回の問題についてはそこまで困っているわけではないので、増殖したメールについてはそのままにしておくつもりです。
もし秀丸メール側の問題で修正が可能であれば修正していただけると嬉しいというレベルです。
したがって私に限れば増殖したメールについて1通に戻すということについては、考慮していただかなくて結構です。
また「□ UIDL/LISTコマンドの内容」のチェックをオンにしたので、次に増殖した場合はログをお送りできると思います。

よろしくお願いします。


2024/03/07(木) 09:33 ポン太

> 送っていただいたemlファイルおよびsmtp_pop3.txtの内容から起きてる現象を想像
>してお返事させていただきます。
>
>■1.受信フォルダの重複メールについて
>
>Export000000.eml ログのエクスポートしたもの、元メール
>Export000001.eml ログのエクスポートしたもの、増殖メール
>
> この2つのメールはX-TuruKame-UIDL:ヘッダの内容がまったく同じになってしまっ
>てて、つまり、秀丸メールが何らかの理由で同じメールを2通に増殖させたんだと思
>います。なぜそうなってしまったのかは分からずですが、そうなる可能性については
>これから調べてみて、問題になりそうな処理を見つけたら何か対策を入れようと思い
>ます。
>
> とりあえず、この2通のメールを1通に戻すとしたら、ちょっと面倒な操作が必要
>です。
>
> 1.2通のうちの1通を削除する。
> 2.もしも直後に同期しようとしたら、Pauseキーを連打して中断させる。
> 3.「アカウント毎の設定・メールサーバー・POP3/IMAP4」の中の「同期予定の確
>認...」
>   を押すと、削除の同期についての予定が出てくるので、そこで「すべての予定
>の取り消し」
>   を押して取り消す。
> 4.普通に受信してメールが1通だけ残ることを確認する。
>
> です。
>
>■2.ゴミ箱フォルダの重複メールについて
>
>Export000002.eml メールをエクスポートしたもの、元メール
>Export000003.eml メールをエクスポートしたもの、増殖メール
>
> こちらについてはX-TuruKame-UIDL:ヘッダの内容が一致してないので、サーバー上
>にたしかに同じメールが2通存在してるというか、サーバー上で増殖したんだと思い
>ます。これは、もしかしたら「1」のような形で増殖したメールをゴミ箱に移動して
>発生したんじゃないかという気がします。
>
> とりあえずは「1」の方が問題だと思うので、こっちは今のところは考えないこと
>にさせていただきます。
>
> あと、送っていただいた添付ファイルは完全に削除させていただきます。
>
> 「1」の問題が起きないような対策が出来たらまたβ版アップロードしたいと思い
>ます。
[ ]
RE:12426 IMAPシステムでメールの増殖No.12427
秀まるお2 さん 24/03/07 11:55 [ コメントを投稿する ]
   dump.txtも送っていただいて、1つバグを見つけてしまいました。IMAP4サーバー上のメールを削除する時のコマンドの番号の更新がされてないことが分かりました。

 IMAP4でクライアント側が送るコマンドは、先頭に識別用の文字列(または番号)を付けないといけなくて、それが重なったらダメでした。秀丸メールは

  C1 ...
  C2 ...
  C3 ...

 みたいにしてるつもりが、削除のための「UID STORE ....」コマンド時に番号が更新されず、例えば

  C29 SELECT "folder"
  C29 UID STORE 1 +FLAGS (\Deleted)

 みたいに同じ番号でコマンド発行してしまってました。普通のサーバーはこれでもうまく動いててくれたんだと思いますが、サーバーによってはうまく解釈してくれないんだと思います。それでメールがサーバー上から削除されず、また受信して増殖してたんだと思います。

 修正してまたβ版アップロードさせていただきます。
[ ]
RE:12427 IMAPシステムでメールの増殖No.12429
秀まるお2 さん 24/03/07 14:46 [ コメントを投稿する ]
   バグは見つけたんですが、見つけたバグが原因で今回の問題が起きてる訳では無いようでした。メールを削除した場合は今回のバグが関係するんですが、ポン太さんから送っていたたいたログの中にはメールの削除の記録は無くて、代わりにゴミ箱への移動があって、そっちについては今回見つけたバグは関係しませんでした。

 もっと調べます。
[ ]
RE:12429 IMAPシステムでメールの増殖No.12431
秀まるお2 さん 24/03/07 18:43 [ コメントを投稿する ]
   何度もすみません。1つまた別のバグが分かりました。メールを移動した後にEXPUNGEコマンドを送り忘れる例があり、今回送っていただいたdump.txtにまさにその記録がありました。

 例えばAフォルダとBフォルダがあって、Aフォルダのメールをゴミ箱に移動して、さらにBフォルダのメールをゴミ箱に移動して、その後受信コマンドを実行すると、

 1.SELECTコマンドでAフォルダを選択。
 2.Aフォルダの移動対象メールをゴミ箱に移動。(移動といっても実際にはコピーしてから削除)
 3.EXPUNGEコマンドを発行。
 4.SELECTコマンドでBフォルダを選択。
 5.Bフォルダの移動対象メールをゴミ箱に移動。
 6.EXPUNGEコマンドを発行。

 としないといけないはずが、「3」のEXPUNGEコマンドが発行されず、結果としてAフォルダのメールが「移動」じゃなくて「コピー」になってしまってるように思います。

 Gmailの場合だと、「3」のコマンドが無くてもちゃんと移動してくれるようですが、IMAPの規約の中のEXPUNGEコマンドの説明を読んだら、SELECTの前に発行しないとダメみたいに書いてあります。

 ってことで、たぶんこれが原因だと思います。

 テストしていただくとしたら、上記のように2つのフォルダのメールをゴミ箱に移動して、その後「受信」コマンドを実行して、さらにもう1回受信してAフォルダ側のメールが復活するかどうかで分かると思います。もし良かったらテストしてみてほしいです。
[ ]
RE:12431 IMAPシステムでメールの増殖No.12432
ポン太 さん 24/03/08 08:49 [ コメントを投稿する ]
  秀まるお2 さん、こんにちは。ポン太 です。

おっしゃられたようなテストをしてみたら、たしかにAフォルダのメールが復活しました。

ただ私の環境にいくつかのフォルダはあるのですが、基本受信(INBOX)で運用して、送信済みは送信BOX、削除したものはゴミ箱というくらいしかフォルダを使ってないんですよね。
一番最近直メールさせていただいたメールも、同じタイミングで別のフォルダからも削除した記憶がありません。
送信済みを受信フォルダに移動することがあるので、もしかしたらその操作が別フォルダからの削除に該当しているのかもしれませんが。

2024/03/08(金) 08:43 ポン太

> 何度もすみません。1つまた別のバグが分かりました。メールを移動した後に
>EXPUNGEコマンドを送り忘れる例があり、今回送っていただいたdump.txtにまさにその
>記録がありました。
>
> 例えばAフォルダとBフォルダがあって、Aフォルダのメールをゴミ箱に移動して、
>さらにBフォルダのメールをゴミ箱に移動して、その後受信コマンドを実行すると、
>
> 1.SELECTコマンドでAフォルダを選択。
> 2.Aフォルダの移動対象メールをゴミ箱に移動。(移動といっても実際にはコ
>ピーしてから削除)
> 3.EXPUNGEコマンドを発行。
> 4.SELECTコマンドでBフォルダを選択。
> 5.Bフォルダの移動対象メールをゴミ箱に移動。
> 6.EXPUNGEコマンドを発行。
>
> としないといけないはずが、「3」のEXPUNGEコマンドが発行されず、結果としてA
>フォルダのメールが「移動」じゃなくて「コピー」になってしまってるように思いま
>す。
>
> Gmailの場合だと、「3」のコマンドが無くてもちゃんと移動してくれるようですが、
>IMAPの規約の中のEXPUNGEコマンドの説明を読んだら、SELECTの前に発行しないとダメ
>みたいに書いてあります。
>
> ってことで、たぶんこれが原因だと思います。
>
> テストしていただくとしたら、上記のように2つのフォルダのメールをゴミ箱に移
>動して、その後「受信」コマンドを実行して、さらにもう1回受信してAフォルダ側
>のメールが復活するかどうかで分かると思います。もし良かったらテストしてみてほ
>しいです。
[ ]
RE:12432 IMAPシステムでメールの増殖No.12433
秀まるお2 さん 24/03/08 09:17 [ コメントを投稿する ]
   確認ありがとうございます。この問題のバグ修正をしたβ版をアップロードしたい所ですが、とりあえずは「アカウント毎の設定・メールサーバー・POP3/IMAP4」の「即座に同期」をONしていただくと、それでも回避できるので、とりあえずはそれをONにしていただくのがお勧めです。

 受信フォルダに同じメール(X-TuruKame-UIDL:ヘッダも同一のメール)が2通発生してるのはまた別かもしれないので、それについても何か対策を考えて、それからβ版アップロードさせていただこうと思います。
[ ]

[ 新規に投稿する ]