imapsyncでMailuからGmailにメールを移行した話

更新:
技術関連
imapsyncでMailuからGmailにメールを移行した話

今までVPS上のDockerでMailuを使用してメールサーバーを建てていたのですが、運用・保守が大変なのでやめました。(お金もかかるし😭)

上記のメールサーバーに代わる形で、Cloudflare Email Routingを使用して独自ドメイン宛のメールアドレスをGmailへ転送することにしました。

それにあたってMailuサーバーに保存されているメールをGmailに移行する必要があったので、imapsyncを使用してみました。そのナレッジについてご紹介します。

imapsyncとは?

imapsyncは、2つのIMAPサーバー間でメールを同期するための強力なコマンドラインツールです。

以下、AIによる要約💡

  • 差分同期が可能: すでに移行済みのメールはスキップされるため、複数回実行しても重複しません。
  • 柔軟な設定: 特定のフォルダだけを除外したり、日付を指定して同期したりできます。
  • 高い信頼性: 大規模な移行実績が多く、エラーハンドリングもしっかりしています。

MailuからGmailへメールを移行する

お好きなサーバー、あるいはローカル環境で以下のコマンドを実行するだけ。簡単ですね。

imapsync --host1 mailu_server.com --user1 user@mailu_server.com --pass1 mailu_password \
--host2 imap.gmail.com --user2 user@gmail.com --pass2 gmail_app_password

引数の解説

パラメータ

説明

--host1

移行元のIMAPサーバーのアドレス

--user1

移行元のメールアドレス

--pass1

移行元のパスワード

--host2

移行先のIMAPサーバーのアドレス(例:imap.gmail.com)

--user2

移行先のメールアドレス

--pass2

移行先のパスワード(Gmailの場合はアプリパスワードを推奨)

--dry

実際にはデータをコピーせずに動作ログだけを確認できます

⚠️注意点(Gmailへの移行)

Gmailへ移行する場合、通常のログインパスワードでは拒否されることがあります。Googleアカウントの設定から「2段階認証」を有効にし、「アプリパスワード」を生成して使用してください。

その他

僕はCloudflare Email RoutingでメールをGmailに転送し、Resendを使用して独自ドメインのメールを送信できるような仕組みを構築しています。これらは完全無料💰
このナレッジについてはまた記事を書きますね。