suishin-director さん、説明編です。
そういえば、まだ Thunderbird のバージョンを確認していませんでしたが、バージョン102 ということでよろしいでしょうか。
実はバージョン91→102に変わった際、POP3プロトコルの処理を行う処理モジュールがC++で書かれた従来のものから JavaScriptで書かれた新モジュールに変更になりました。
POP受信で「ダウンロード後もサーバーにメッセージを残す」設定の場合に、重複して受信することがある問題は新モジュールに切り替えてから発生するようになりました。
Bug 1778037 TB 102.0 repeatedly downloads same email messages (POP, Norton AV) - after using Get Messages button (to fetch all)
上記チケットにて、重複受信が起きる不具合の一部が Thunderbird 102.4.2 で対策されました。
https://mozillazine.jp/?p=7893引用:
[ 修正 ] “ダウンロード後もサーバーにメッセージを残す” と “ダウンロードしたメッセージを削除したらサーバーからも削除する” の両方を有効にした状態で POP サーバーからダウンロードしたメッセージをローカル上で削除すると、メッセージを再度ダウンロードしてしまう問題を修正
102.4.2 以降も一部ユーザーからの報告が上がっていて別の発生条件があるみたいですが、再現確認のための情報が不足していて掴みきれていない状況のようです。
きっかけとなる状況は複数あっても、重複受信が起きる仕組み自体は同じです。
サーバーにメールを残している場合、POPではメールソフトが新着メールだけ受信するためには、自分でダウンロード済みメールを管理する必要があります。
そのために Thunderbird が使用しているのが、popstate.dat というファイルです。
Thunderbird はメールを受信する前にサーバー上のメールのUIDをすべて取得しています。
そして、popstate.dat にはメールを受信した際に UIDを記録するようにしておき、そこに記録されていない UIDのメールのみを新着として受信するようにしています。
コード:
# POP3 State File
# This is a generated file! Do not edit.
*pop.mail.yahoo.co.jp XXXXXX
k AKfEY2QAAEIaYwQMnwTGqPMD5/A 1661228902
k ANMWRmQAADOHYwQX9QJ40HBp/IE 1661228902
k ALjEY2QAAClsYwQ6HQFfkCBFU4Q 1661228903
k AMzEY2QAAD7LYwRgigZ4QNc2LSg 1661235646
重複受信は、何らかの状況により popstate.dat(↑)にUIDが記録されなかった、あるいは壊れた場合に発生するというわけです。
「mailnews.pop3.jsmodule→false」の設定は、POP3の新モジュールの不具合が問題となる場合に旧モジュールに切り替えて回避するという対処になります。
これにより新モジュールのバグ由来の重複受信は起きなくなるでしょう。
しかし、重複してしまったメール自体はそのままな点は注意が必要です。
また、重複受信が起こる原因として、セキュリティソフトが通信をタイムアウトさせることが引き金になっている可能性が下記で指摘されています。
https://bugzilla.mozilla.org/show_bug.c ... 778037#c36そいういったこともあり、新しいプロファイル環境で重複せずに受信できるかを、まず確認しておきたいというわけです。