今まで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引数の解説
パラメータ | 説明 |
|---|---|
| 移行元のIMAPサーバーのアドレス |
| 移行元のメールアドレス |
| 移行元のパスワード |
| 移行先のIMAPサーバーのアドレス(例:imap.gmail.com) |
| 移行先のメールアドレス |
| 移行先のパスワード(Gmailの場合はアプリパスワードを推奨) |
| 実際にはデータをコピーせずに動作ログだけを確認できます |
⚠️注意点(Gmailへの移行)
Gmailへ移行する場合、通常のログインパスワードでは拒否されることがあります。Googleアカウントの設定から「2段階認証」を有効にし、「アプリパスワード」を生成して使用してください。
その他
僕はCloudflare Email RoutingでメールをGmailに転送し、Resendを使用して独自ドメインのメールを送信できるような仕組みを構築しています。これらは完全無料💰
このナレッジについてはまた記事を書きますね。