web-dev-qa-db-ja.com

古いmbox形式をmaildirに移行してUIDL値を保持する

Sendmail 8.13.6/dovecot 0.99.14(mbox形式)を実行している古いサーバーからpostfix 2.6.6/dovecot 2.0.9(maildir形式)を実行している新しいサーバーに数百の電子メールアカウントを移行しようとしています。

いくつかのメールボックスをdsyncで移行し、imapsyncでも試してみましたが、どちらの場合もメッセージUIDLが変更されているため、ポップデスクトップクライアントは明らかにポップ受信ボックス内のすべてのメッセージを再ダウンロードします。私のユーザーからの怒りの電話や電子メールの。

奇妙な部分は、明らかに古い鳩小屋0.99.14で、異なるUIDL形式が使用されていたことです。2つの連続したメッセージに対して古い形式のUIDLの例:1391619175.6と1391619175.7。インポート時にこれら2つのメッセージに割り当てられた新しい形式のUIDL:dovecot.confで定義された形式%08Xu%08Xvを使用した0000000152f30760および00000000252f30760

また、0.9バージョンのdovdcot.confファイルに、これがどの形式であるかを示すオプションが表示されないため、この形式を模倣するように新しいインストールを構成する方法がわかりません。

古いUIDLを保存するための良い方法についての洞察をいただければ幸いです。

1
Ryan Griggs

あるバージョンから別のバージョンへのuidlの変更は、ソースホストと同じ「pop3_uidl_format」オプションをターゲットホストで使用して対処できます。

によると、古いデフォルトは%v。%uのようです

http://wiki1.dovecot.org/POP3Server

それを試してみてください...

また、私があなたのサイトにいた場合、dovecotadmコピーを見て、(パフォーマンスの点で)より良い結果が得られるかどうかを確認しますが、おそらく0.99の一部ではなかったため、ターゲットシステムから使用する必要があります。 。

おそらく、古いサーバーのFSを新しいサーバーにマウントする必要がありますが、完了したら、次のようなものを使用できます。

doveadm import -u [email protected] maildir:/var/mailmeo/middle.earth/f/frodo/MailDir . ALL
1
alxgomz

Dovecots wikiの POP3移行 を見てください。

してもいいです:

Maildirファイル名に基づいてdovecotにUIDLを使用させる:pop3_uidl_format = %f

[〜#〜]または[〜#〜]

X-UIDL:ヘッダーに基づいてdovecotにUIDLを使用させる:pop3_reuse_xuidl=yes

ファイル名ベースの方法をお勧めします。

1
AnFi