[ 新規に投稿する ]

IMAP定期受信時におけるメールの重複および索引(list.bin)のNo.14245
サイバラ さん 26/04/21 23:42 [ コメントを投稿する ]
  いつも秀丸メールを便利に活用させていただいております。
今年初頭より、特定のIMAPフォルダにおいて、定期受信のたびに既読メールが重複して取り込まれる現象が発生しており、ご相談させてください。

【現象の概要】

症状: 特定のフォルダ(1箇所)のみ、定期受信のタイミングで同一メールが複数出現する(最大23通程度)

条件: 「定期受信」時のみ発生し、手動での受信操作では発生しません。サーバー側には重複メールは存在しません。

エラー: 重複発生後、時折「list.binの整合性不一致」による再作成が発生します。

【環境・設定】

OS/Version: Windows 11 / 秀丸メール v7.44 (64bit)

受信方式: IMAP(IDLEコマンド使用なし、定期受信時に同期)

その他: 振り分けはサーバー側で実施。OneDrive等のクラウドストレージとの同期設定は一切行っていません。

【確認できたエラー表示】
(ポップアップからの手書きコピーのため誤字等ご容赦ください):
検索処理にて以下の矛盾が報告されました

矛盾のあるフォルダ = [特定のフォルダパス]
矛盾のあるファイル = xxxxx202604.txt
元のサイズ=31573
現在のサイズ=97729
元の日時=2026/04/16 15:42.52
現在の日時=0000/00/00 00:00.00

【現在の対応】
秀丸メールの「重複メールのチェック」機能で回避していますが、索引の再作成が頻発するため根本的な解決を希望しております。

定期受信時にのみ管理情報の整合性が崩れる原因について、調査または設定のアドバイスをいただけますでしょうか。
よろしくお願いいたします。
[ ]
RE:14245 IMAP定期受信時におけるメールの重複および索引(lisNo.14246
秀まるお2 さん 26/04/22 16:13 [ コメントを投稿する ]
  特定のフォルダでのみおかしいということで、そのおかしい動作というのも、重複メールが発生したりlist.binの矛盾が起きるということで・・・。今ちょっと考えた限りはこれといった原因が思い当たらずで、適当な対策もお返事できないです。

とりあえず現段階でのお返事ということで・・・

list.binの矛盾が起きた場合には、秀丸メールのデータ用フォルダに「dump.txt」ってファイルが生成されて、そこに詳しい情報が出力されてる可能性が高いと思います。もしそのファイルがあるなら、中身にログ出力の日時とかの情報も入ってるので、最近の分だけコピペして送っていただけると助かります。

メールで送っていただけるとしたら、"maruo@mitene.or.jp"宛にお願いしたいです。

あと、連絡いただいたエラーメッセージにある

> 元の日時=2026/04/16 15:42.52
> 現在の日時=0000/00/00 00:00.00

の「現在の日時」が0000で出てるのは、秀丸メールがメール用ファイルに対して「GetFileTime」っていうAPI呼び出しして失敗してる場合のようです。何かそこのフォルダに限ってファイルアクセスに失敗するようなことが起きてる可能性もあるので、もしもハードディスク上にメールデータを置いておられるなら、一回エラーチェックをかけていただけると助かります。エラーチェックは「Windows11 ハードディスク エラーチェック」のようなキーワードでネット検索するとやり方が出てきます。それでもしも何かエラーが見つかるようなら、もしかしたらハードディスクが故障しかかってる可能性もあるので、たとえばハードディスク交換とかの対策とかも考えてほしいです。

ハードディスクじゃなくてUSBメモリ上においてる場合も、エラーが起きる話が届いたことがあるので、その場合は一回メールデータを別ドライブに引っ越しとかもしてみてほしいです。

あとでまたコメントさせていただきます。
[ ]
RE:14246 IMAP定期受信時におけるメールの重複および索引(lisNo.14247
秀まるお2 さん 26/04/22 17:38 [ コメントを投稿する ]
  とりあえず追加で分かったことが1つあったのでコメントさせていただきます。

> > 現在の日時=0000/00/00 00:00.00

> の「現在の日時」が0000で出てるのは、

の件ですが、すみませんが間違いでした。「現在の日時」が0000と出てきてしまうのは、秀丸メール側のバグのせいで、ファイルが壊れてる訳では無いようでした。とりあえず正しい情報が出るように修正しつつ、調査続行します。
[ ]
RE:14247 IMAP定期受信時におけるメールの重複および索引(lisNo.14248
秀まるお2 さん 26/04/22 22:16 [ コメントを投稿する ]
  IMAP同期モードのアカウント配下の特定フォルダで同一メールが重複して発生する理由は以下の3種類の可能性があると思いました。

1.実際にサーバー上で同一メールが増殖してて、秀丸メールはそれを普通に受信してるだけの可能性。
2.サーバー上に1通しか無いはずのメールを秀丸メールが何回も受信してる可能性。
3.メール用を保存してるファイルが何らかの理由で増殖して(コピーされて)増えてる可能性。

上記のどれのパターンか調べる方法があるのでちょっと調べてほしいです。

増殖してるメールのヘッダを「表示 - メールのヘッダ - すべて表示」ですべて表示にすると、一番下の方に、

    X-TuruKame-UIDL:

ってヘッダがあります。その内容を比べてみて、複数存在してるメールで同一かどうか調べてほしいです。

もう1つ、メールを選択して「編集 - メールのプロパティ」を実行すると、「送受信日時」が出てきます。そこの内容も比べてほしいです。

たとえば

    X-TuruKame-UIDL:ヘッダ内容が違ってる。
    送受信日時も違ってる。

なら「1」のパターンと予想されます。

    X-TuruKame-UIDL:ヘッダ内容は同じ。
    送受信日時は違ってる。

なら「2」のパターンだと思います。

    X-TuruKame-UIDL:ヘッダ内容は同じ。
    送受信日時も同じ。

なら「3」のパターンだと思います。

とりあえずどのパターンかだけ先に教えてほしいです。よろしくお願いします。
[ ]
RE:14248 IMAP定期受信時におけるメールの重複および索引(lisNo.14249
サイバラ さん 26/04/23 00:02 [ コメントを投稿する ]
  サイバラです。こんな時間でしか対応できなくてすみません。

dump.txtについてはメール送付いたしました。確認よろしくお願いします。

メールフォルダはSSDですが、定期的にローカルバックアップ取っていますので、エラーは無いものと思っています。念のためエラーチェックかけてみてしばらく様子見てみます。

>IMAP同期モードのアカウント配下の特定フォルダで同一メールが重複して発生する理由は以下の3種類の可能性があると思いました。
>
>1.実際にサーバー上で同一メールが増殖してて、秀丸メールはそれを普通に受信してるだけの可能性。
>2.サーバー上に1通しか無いはずのメールを秀丸メールが何回も受信してる可能性。
>3.メール用を保存してるファイルが何らかの理由で増殖して(コピーされて)増えてる可能性。
>
>上記のどれのパターンか調べる方法があるのでちょっと調べてほしいです。

 調べてみました。

>    X-TuruKame-UIDL:ヘッダ内容は同じ。
>    送受信日時は違ってる。

なので、

>なら「2」のパターンだと思います。

と思われます。よろしくお願いします。
[ ]
RE:14249 IMAP定期受信時におけるメールの重複および索引(lisNo.14250
秀まるお2 さん 26/04/23 10:42 [ コメントを投稿する ]
  dump.txtも含めて詳しい情報ありがとうございます。1つのメールを重複受信してるということで、ある程度状況絞り込みできて助かりました。

問題が起きる根本原因は、やはりlist.binの矛盾が起きることだろうと思います。list.binの矛盾を見つけた時に、「元のサイズ」よりも「現在のサイズ」が大きくなってるということは、つまり、実際に存在してるはずのメールを秀丸メールが認識してなくて、そのせいで重複受信してるんだろうと思います。

ここで1つ大きな問題があります。エラーメッセージが出るタイミングはあくまで矛盾を見つけたタイミングで、実際に矛盾が発生してるのがいつ、何をした時に起きるてるのかが分からないです。なので今の状況ではちょっと原因究明が難しいです。

それで、2つ対策をしようと思います。

1つは、対症療法になるんですが、list.binのキャッシュの矛盾を見つけて、さらにそれがIMAP同期フォルダの場合なら、X-TuruKame-UIDL:ヘッダの重複したメールを探して、もしあれば自動的に1通のみにするような処理を入れようと思います。(確認メッセージも表示した上で)

もう1つ、定期受信の最中(たぶん無人運転の最中)にlist.binの矛盾、特に今回の場合は「存在してるはずのメールを認識しなくなった」ってことが起きてるはずなので、それがいつ起きたか分かるように、定期受信の時に「今現在どのフォルダに何通のメールがあるか」を「送受信のやりとり記録」に出力するようにしようと思います。それでログを取っていただいて、いつ問題が起きたのか、ログの検索で分かるような風にしようと思います。

修正に時間がかかると思うのでちょっと待ってほしいのと、上記の通りログ取っていただかないと原因究明が難しいので、β版インストール&ログ取りで様子見ってことでお願いしたいです。

よろしくお願いします。

----------------------------------------------------
もう1つ、問題が起きるのが特定フォルダに限ってということで、何か心当たりがあることがあれば、その辺教えていただくとか、とりあえず設定変更やフォルダ名変更などして様子見していただく作戦もお願いしたいです。


 − フォルダ名が何か他と違う所が無いか。特にユニコード文字を使ってる可能性。

   --> もしユニコード文字を使ってる場合はユニコード文字無しに変更して様子見してみてほしい。

 − 振り分けで何かそのフォルダについてのアクション指定など無いか。未読/既読切り替えやメモ付けや
   「フォルダへのコピー」など、何かアクションが無いか。

   --> もしあれば、一時的に振り分け項目を無効にしてみるか、どういうアクション指定されてるか
       教えてほしい。

 − その他、何かそのフォルダだけ他と違う所が無いか。フォルダ名が極端に長かったり
   フォルダ毎設定で何か指定してたりとか・・。

[ ]
RE:14250 IMAP定期受信時におけるメールの重複および索引(lisNo.14254
サイバラ さん 26/04/23 22:20 [ コメントを投稿する ]
  >それで、2つ対策をしようと思います。

 早速の対策、ありがとうございます。

>修正に時間がかかると思うのでちょっと待ってほしいのと、上記の通りログ取っていただかないと原因究明が難しいので、β版インストール&ログ取りで様子見ってことでお願いしたいです。

 了解です。そもそも問題の発生するディレクトリに来るメールが
数日に1回のみという状況なので、こちらもそのあたりいろいろ設定
変えてみて様子見してみたいと思います。

>----------------------------------------------------
>もう1つ、問題が起きるのが特定フォルダに限ってということで、何か心当たりがあることがあれば、その辺教えていただくとか、とりあえず設定変更やフォルダ名変更などして様子見していただく作戦もお願いしたいです。

 これについては全く心当たりがありません。たしかに一番深い階層の
フォルダではありますが、他に(1文字だけですが)もっと長いフォルダ名が存在する状況ではあります。(こちらでは問題起きていません)

> − フォルダ名が何か他と違う所が無いか。特にユニコード文字を使ってる可能性。

 ありません。該当フォルダをはじめ、
全てのフォルダには半角英数字しか使っておりません。
(除く「受信」などの固定フォルダ)

> − 振り分けで何かそのフォルダについてのアクション指定など無いか。未読/既読切り替えやメモ付けや
>   「フォルダへのコピー」など、何かアクションが無いか。
>   --> もしあれば、一時的に振り分け項目を無効にしてみるか、どういうアクション指定されてるか
>       教えてほしい。

 振り分けは秀丸メール内では全くしておらず(真っ白です)、
サーバー側でメール受信時点で振り分けている状態です。
サーバー内のルールは、
シンプルに特定のメールアドレスがメールヘッダに含まれている
場合には、指定のフォルダーに移動、だけです。
この設定は他のフォルダでもほぼ同様に機能していますので、特に
これだけのルールというものも無いです。

> − その他、何かそのフォルダだけ他と違う所が無いか。フォルダ名が極端に長かったり
>   フォルダ毎設定で何か指定してたりとか・・。

 今気が付いたところですが、該当フォルダのみ、実際のデータ
ファイルが

xxxx202512.txt
xxxx202512_02.txt
xxxx202602.txt

と、202512_01および202601のファイルがすっぽり抜けてました。
他のフォルダでは普通に202601ファイルがありますので
1月中に全くメールを受信していなかったというのも考えにくい
状況です。1月に入ってから重複するようになったという点とも
合いますので関係がありそうに思います。

あともうひとつ、IMAP上のフォルダでは、大文字が2文字だけでし
たが、秀丸メール上では、大文字が7文字でした。(アルファベッ
トは変わらないので、いわゆるディレクトリ移動には支障はない)
念のため、サーバ上で、大文字7個のフォルダが存在しないか見て
みましたが、それは無さそうです。
[ ]
RE:14254 IMAP定期受信時におけるメールの重複および索引(lisNo.14256
秀まるお2 さん 26/04/24 09:53 [ コメントを投稿する ]
  情報ありがとうございます。問題の起きるフォルダ固有の特徴的なことは特に無いけども、メール用ファイルがちょっとおかしいらしいということで、やはり対症療法とログ取り作戦でお願いするしか無いかと思います。

秀丸メールのVersion 7.45β7を先ほどアップロードしたのでそれに入れ替えてほしいのと、さらに、問題の起きるフォルダを選択して、「設定 - フォルダ毎の設定」を実行して、「アイコン」を

     !!  (最重要フォルダ)

にしてほしいです。さらに、「全般的な設定 - 上級者向け - 動作の記録」の、

    □ メールサーバーとのやりとりをsmtp_pop3*.txtファイルに記録する

と、さらに

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

を両方ONにしてログ取り開始してほしいです。

その状態で、問題のアカウントの受信を1回実行して、やりとり記録のログが出力されてることを確認してほしいです。

ログは、秀丸メールのデータ用フォルダ配下に、たとえばアカウント名が「テストアカウント」だったら、

    smtp_pop3_テストアカウント.txt

って名前で出力されます。それを開いて中身を見ると、たとえば「テストフォルダ」を「最重要」アイコンにしてたとしたら、

====== 2026/04/24 09:02:38 mode=IMAP受信 account=テストアカウント
I メール数ログ: folder=テストフォルダ / 総数=2 / 新着=2 / 最終ファイルサイズ:list.bin上=11562/実ファイル上=11562
I サーバーを検索中 - ......
...
...
...
I メール数ログ: folder=テストフォルダ / 総数=2 / 新着=2 / 最終ファイルサイズ:list.bin上=11562/実ファイル上=11562
終了時刻: 2026/04/24 09:40:18

みたいな感じで受信開始時点と終了時点でのチェック結果が出力されるはずになります。list.binの矛盾チェックも毎回実行されます。

もしもlist.binの矛盾が発生した場合、list.binの矛盾を自動的に修復しつつ、重複メールのチェックも実行して自動的に重複メールを削除し、さらに受信後にエラーメッセージを表示します。定期受信の最中にエラーが出たとしたら、そのエラーを5分間放置した後にまた定期受信が続行されます。

ログにはこんな記録が出ます。

----------------------------------------------------------------
E メール用ファイルに矛盾を見つけたので、メール一覧を作成しなおしました。folder=テスト 元のメール数=2 新しいメール数=3
E Listcache invalid (file size mismatch) file=テスト2026.txt prev-size=11562 new-size=17376 prev-time=2026/04/24 08:41:10 new-time=2026/04/24 08:58:24

E IMAP同期のミスで重複した 1 通のメールを削除しました。フォルダ = テストフォルダ
----------------------------------------------------------------

この記録が出たら、その直前の受信時のログなども調べることで、何が起きてるか状況が理解できるんじゃないかと思います。

すみませんがとりあえずこういう感じでログを取りながら放置し、たまに"メール用ファイルに矛盾を見つけたので"みたいな文字列で「smtp_pop3_アカウント名.txt」のファイルを確認するってことをお願いしたいです。

上記の文面にある通り、重複メールが発生しても、一応自動で修復される予定です。

あと、dump.txtも取ってほしいのは、もしこの現象が起きた時に、果たして秀丸メール上で何が実行されてるのか記録があった方がいいと思うからです。

よろしくお願いします。
[ ]
RE:14256 IMAP定期受信時におけるメールの重複および索引(lisNo.14259
サイバラ さん 26/04/24 20:00 [ コメントを投稿する ]
  >情報ありがとうございます。問題の起きるフォルダ固有の特徴的なことは特に無いけども、メール用ファイルがちょっとおかしいらしいということで、やはり対症療法とログ取り作戦でお願いするしか無いかと思います。

 わかりました。やってみます。

[ ]
RE:14259 IMAP定期受信時におけるメールの重複および索引(lisNo.14260
秀まるお2 さん 26/04/25 09:54 [ コメントを投稿する ]
  メールでログ送っていただきましたが、こちらにコメントさせていただきます。

ログ送っていただきありがとうございます。おかげさまで原因が分かってしまいました。秀丸メールのバグでした。

IMAPサーバー上にあるフォルダと秀丸メール上にあるフォルダの大文字/小文字の区別が違ってると起きるようでした。大文字/小文字の区別が違っててもちゃんと受信はするんですが、メール一覧キャッシュが更新されず、秀丸メール上にもそのメールが出てこない状態になってしまい、その後矛盾を見つけてエラーメッセージ表示となるようでした。長らくテストご協力いただいたおかげで大変助かりました。

次のバージョン(正式版にしようと思う)で修正させていただきます。

とりあえずの回避策としては、

 − 秀丸メールを一回終了させる。
 − エクスプローラを使うなどして秀丸メールのデータ用フォルダ配下のアカウント用フォルダ配下の問題のフォルダ名を
   サーバー上のフォルダと同じ名前に変更する。
 − 秀丸メールを起動して問題の起きてたアカウントを展開させると、「フォルダ階層が前回と違う」
   みたいな警告が出るので、そのままOKする。

で問題が回避できると思いますが、もし良かったらその後もしばらくだけログ取り継続お願いしたいです。

よろしくお願いします。
[ ]

[ 新規に投稿する ]