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を使用して独自ドメインのメールを送信できるような仕組みを構築しています。これらは完全無料💰このナレッジについてはまた記事を書きますね。