はじめに:
先日、完全に新しいメールサーバーをインストールして、すべてのメールアカウントを古いメールサーバーから新しいメールサーバーに転送するように依頼されました。新しいメールサーバーが別のメールINBOX形式を使用していたため、調査を行う必要があることに気付きました。これは、必要な処理を正確に実行するための非常に優れたツールである imapsync
ツールのインストール:
このツールはPerlでプログラムされており、無料ではありません。 http://imapsync.lamiral.info/で購入できます。
注: それは素晴らしい仕事をし、それを使用することによって節約された時間と手間を考えると、その価格の価値があります。
おそらく、次のようにいくつかの余分に必要なPerlモジュールをインストールする必要があります:
sudo apt-get install libfile-copy-recursive-perl sudo apt-get install libio-socket-ssl-perl sudo apt-get install libio-tee-perl sudo apt-get install libunicode-string-perl cpan Mail::IMAPClient cpan Term::ReadKey cpan Digest::MD5 cpan Term::ReadKey cpan IO::Socket::SSL cpan File::Spec cpan Digest::HMAC_MD5 cpan Authen::NTLM cpan Readonly cpan Sys::MemInfo cpan Regexp::Common cpan App::cpanminus cpanm IO::Tee cpanm Mail::IMAPClient cpanm Unicode::String cpanm Sys::MemInfo cpanm File::Tail
Ubuntuを使用している場合は、次のコマンドを実行して、必要なPerlモジュールをインストールできます。
apt update && apt install libio-tee-perl libmail-imapclient-perl libterm-readkey-perl libunicode-string-perl libreadonly-xs-perl libsys-meminfo-perl libregexp-common-perl libfile-tail-perl
ツールの使用:
例1 :フォルダINBOX内のすべてのメールをローカルホストのjimアカウントから同じ資格情報を持つ別のサーバーにコピーします:
–最初にドライランを実行して、通常の実行時に何が転送されるかを確認します:
imapsync --dry \ --host1 localhost --user1 jim --password1 'secret1' --folder INBOX --tls2 \ --host2 mail.myserver2.com --user2 jim --password2 'secret1' --nofoldersizes --nofoldersizesatend
例2 :すべてのメールとフォルダ(ドライランなし)をローカルホストのアカウント[email protected]から、異なる資格情報を持つ別のサーバーの新しいアカウントにコピーします:
imapsync \ --host1 localhost --user1 [email protected] --password1 secret1 \ --host2 mail.myserver2.com --user2 [email protected] --password2 secret2
例3 :GMAILからプライベートIMAPアカウントへの完全なアカウントの移行。 Linux:
imapsync --no-modulesversion --nofoldersizes --ssl1 --ssl2 \ --gmail1 --user1 [email protected] --password1 '********' --host2 myhost2.srv --user2 [email protected] --password2 'xxxxxxxxxx'