web-dev-qa-db-ja.com

メールの移行:メールをIMAPアカウントに送り込む

当社のメールシステムを古いプロバイダーから新しいプロバイダーに移行するのに問題があります。これをFOOと呼びます。

コントロールパネルを使用して、FOOに電子メールアドレスとメールボックスを作成し、既存の構造を複製しました。すべてが機能することを確認するために、FOO smtpおよびimapデータを使用して各電子メールクライアントに新しいアカウントを追加および構成し、単純な送受信を行いました。これまでのところ、クライアントは問題なくメールを送受信しています。

問題は、FOOの新しいメールボックスが空であり、既存のメールを入力する必要があることです。

私が持っているもの:ローカルユーザーのクライアントごとに、フォルダー(受信トレイ、送信済みアイテムなど)に整理された.emlファイルの束があります。各.emlはメールです。

必要なもの:アカウントごとにこれらの.emlファイルをFOOメールボックスにインポートするので、FOO imapサーバー/ユーザー名/パスワードを使用してクライアントを構成でき、ユーザーはメールを再び利用できるようになります。

最初はこの方法で行いました。個人のローカルThunderbirdインストールで、移行するユーザーアカウントごとに1つのアカウントを作成しました。新しく作成したアカウントに(ImportExportTools TB拡張子を使用して).emlファイルをインポートしました。ThunderbirdはローカルクライアントとWF上のimapサーバー間でメールを自動的に同期します。

それがうまくいくならそれは素晴らしいでしょう…しかししばらくしてタスクは失敗しました。タイムアウトの場合もあれば、ネットワークの問題の場合もあります...基本的に、プロセスが何らかの理由で停止し、すべてのメールをリモートサーバーに取り込むことができません。

移行する必要がありますたくさんメール(ユーザーごとに5/6 Gbの平均)。

私の解決策:

  1. 移行する既存のクライアントごとに、対応する.emlファイルを含むZipを作成します。
  2. 各ZipをFOOアカウントにアップロードします(scpまたはftpを使用して、それについて考える必要があります)
  3. コマンドラインメールクライアント(pine?mutt?others?!WHICH ONE?)をFOOアカウントにインストールします
  4. 移行するアカウントごとにメールアカウントを作成する
  5. .emlをクライアントにインポートし、IMAP同期が行われることを期待します

私にはそれはかなり複雑に見えます、そして私はそれがうまくいくかどうかさえわかりません。これに対するより良い解決策はありますか?また、どのクライアントがemlインポートとIMAPをサポートしていますか?

どんな提案でも大歓迎です。

3
Paolo

それでも元のサービスにアクセスできる場合は、ツールìmapsync(または代わりに OfflineIMAP )を使用するのが最善の方法です。

これにより、古いサービスから新しいサービスに一時的に同期できます。未読のマーカーが保持されるように、すべてのフラグも保持されます。また、フォルダ構造も保持されます。

これを実現する2番目に一般的な方法では、メールルーティングを注意深く調整する必要があります。これは、通常はmaildirまたはmbox形式のソースデータのファイルコピーになります。古いサービスへのシェルアクセスがない限り、これには以前のメールプロバイダーの支援が必要になる場合もあります。

imapsyncは確かに推奨される方法です。 emlファイルを使用して転送を試みることはお勧めしません。手始めに、すべてのフラグとフォルダーを失ってしまいます。さらに、ユーザーあたり5〜6 GBでこれを実行しようとすると、長い時間がかかります。あなたは段階的にそれをしなければならないでしょう。

さらに、一度に数個のファイルを転送するマクロを作成できる場合もありますが、PineまたはMUTTが概説した方法でそれを実行するのに役立つかどうかはわかりません。


[〜#〜]更新[〜#〜]

現在、オリジナルからの同期は不可能であることがわかっています。 EMLファイルからmaildirベースのシステムへの入力をスクリプト化する最良の方法(それがあなたが持っているものである場合、それはLinux IMAPサーバーの最も一般的なストレージ形式です)を使用することです

getmail_maildir ~/Maildir/ < email_file.eml

getmail_maildirgetmailパッケージの一部です。このonlyは、メールフォルダに直接アクセスできる場合にのみ機能しますが、これは一般的に、より優れたホストに当てはまります。他のメールストレージ形式mboxでこれを行うかどうかはわかりませんが、getmailにもgetmail_mboxコマンドがあると思います。さらに、Windowsアプリケーション " IMAPSize "には、EMLからmboxに変換するためのコマンドがあります。

繰り返しになりますが、すべてをIMAPに渡そうとするよりも、電子メールを物理的なメールストアに移行する方がはるかに簡単です。ただし、新しいプロバイダーが適切なアクセスを提供できないため、これを行う必要がある場合があります(たとえば、GMailに移行する場合など)。

この場合、「合成」ローカルmaildirを使用してEMLファイルをmaildir形式に移行するのが最善の方法です(命名規則以外にmaildirについて特別なことは何もないため、実際にIMAPサーバーを使用する必要はありません。それら)およびgetmail_maildir。次に、IMAPSyncまたはOfflineIMAPを使用して、そのローカルmaildirから新しいサービスにプッシュします。そうすれば、MUTTのスクリプトを作成しようとして混乱する必要はありません。

7
Julian Knight