私は自分のIMAPを設定していて、過去9年間に受信したメールを自分のサーバーに収集する必要があります(そして、いくつかのメールボックスから継続的に同期する必要があります)。
空のメールボックスにテストアカウントを使用してfetchmailを正常に設定しました。ターゲットメールボックスにメールを送信するたびに、POP3経由でボックスに受信されます。 しかし Windows Mailに配信されたメッセージに、fetchmail
が実行された日時が表示されていることがわかりました。これは新着メールには適切ですが、履歴の追跡には実際には不適切です。
私の.fetchmailrc
ファイル現在 *が表示されます
set invisible
poll pop.fastwebnet.it proto imap
user "redacted" pass "redacted" fetchall
mda "/usr/lib/dovecot/deliver"
私の受信トレイは、Postfix&DovecotをMaildir
形式で使用して構成されています。 maildirに同期するとメッセージが削除されるため、fetchmailにPOP3を選択しました。
fetchmail
に伝えるにはどうすればよいですか?つまり、9年間のメールを蓄積した[email protected]
からの履歴を同期しようとすると、それらはすべて今日の日付になります。
たとえば、14:59頃に[email protected]
にテストメールを送信し、fastwebnet.it
でウェブメールを開いて14:59が「公式」時間であることを確認してから、次のサーバーからfetchmail
を実行しました。 15:30。 Windows Mailは、電子メールの時刻が14:59ではなく15:30であることを示しました。
コメントとドキュメントを読むと、fetchmailは通常メールの上部にReceived
ヘッダーを追加しているため、クライアントはメールが新品であることを検出します。
また、今回はIMAPを使用して、詳細モードでfetchmail
を実行しました。デフォルトではSMTP経由でメールをドロップするようですので、そこに問題があります。サーバーがSMTP経由でMaildirにドロップされるメールを受信した場合、そのメールは新品であると見なされます。
*元の文章から質問を更新しました
Windows Mailによってユーザーに公開された日付は、Date
ヘッダーフィールドからではなく、最新のReceived
フィールドからのものであるようです(Received
フィールドは主に RFC5321 および RFC5322 で説明されているように、配信ゲートウェイを介してメッセージをトレースします。
Fetchmailがメッセージを配信するとき、(SMTPを使用しない)mda
オプションを使用しても、デフォルトでは、現在の日付と時刻を含む独自のReceived
フィールドが追加されます。
幸い、これを無効にするオプションがあります。
-invisibleオプション(キーワード:set invisible)は、fetchmailを非表示にしようとします。通常、fetchmailは他のMTAと同じように動作します。つまり、送信チェーン内での位置を説明する各メッセージにReceivedヘッダーを生成し、fetchmail自体が実行されているマシンからメールが送信されたことをMTAに通知します。 invisibleオプションがオンの場合、Receivedヘッダーは抑制され、fetchmailは転送先のMTAをスプーフィングして、メールサーバーホストから直接送信されたと見なそうとします。
このオプションをSMTP以外の配信、たとえば--mda /usr/lib/dovecot/deliver
と組み合わせたいと思います。そうしないと、SMTPサーバーはfetchmailの後に独自のReceived
フィールドを追加する可能性があります。
質問の範囲はメールボックスの「最初の」履歴移行を実行することだったので、ここでは異なりますbrute force
アプローチ:メールを古いIMAPから新しい受信トレイに移動します。それ以降、fetchmailデーモンはnewメールで正常に動作します
両方のメールボックスを同期し、すべて(またはグループ)の電子メールを選択して、新しい受信ボックスにドラッグアンドドロップまたはカットアンドペーストします。これには時間と手作業が必要ですが、特にグループでメールを移動する場合は、まったくまたはほとんどダメージを与えることができません
サーバーにアクセスできるので、 imap2maildir などのツールでIMAPボックスをMaildir互換ボックスにダンプできます。元のMaildirを新しいMaildirとマージすると、メッセージ収集が正しく初期化されます
IMAPの移行/同期用に作成されたツールはたくさんあります。ボックスパスワードを提供する必要があるオンラインツールもあり(セキュリティのため、移行中にパスワードを一時的なものに変更できます)、個人データを保持しないようにサービスを信頼する必要があります。