自前メールホスティングの行く先 (2)
前回の続きです。
まずはOffice 365へ移行できるかを検討
徐に “office 365 imap 移行” と雑に検索。
さすがにちゃんと手順はありますね…顧客を引っぱるには必須ですからね…。 IMAPからの移行というよりかは、IMAPをソースにした定期的な一方向同期のようです。
- 旧ホストにO365への転送設定を入れる
- IMAP同期する
- 最後にMXを向ける (いきなり向けても転送設定はどのみち新しいMXに切り替わるまでの間必要)
で自分以外のメールボックスはさくっと移行できそうです。 問題は…自分のメールボックスですね。30GBある。
とりあえず、雑に何通あるか数えてみました。なんでかというと、O365が提供している同期機能にはメールの数に制限があるためです。
ユーザーのメールボックスから移行できる項目数は最大 500,000 です (メールは新しいものから順に移行されます)。
で、
find Maildir/ -type f | wc -l
1906345
あ…うん…190万通ね…そんな気はしてたよ…。15年分あるからね。SpamAssassinがスパムと判定した数を数えてみよう。
find .Junk -type f | wc -l
195059
1割か…消しても焼け石に水ですね(もちろん移行前に消すけど)。 O365の用意する方法では難しそうなので自分でなんとかする必要がありそう。
たしかimapsyncというOSSがあったはず。 (昔ローカルのdovecotとsyncしてオフラインでメール読む環境作った時に使った)
で、これはOSSというかライセンスがちょっと特殊ですね…
- https://github.com/imapsync/imapsync/blob/master/LICENSE (制限のないライセンス?? public domainじゃダメなの……)
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=609845
- 過去にちょっとモメてたらしく、Debian(とUbuntu)からは削除されたまま
- FreeBSDのportsには入っていた
- ソースはGithub上のリリース(tag)になっていた。なるほど…
- https://svnweb.freebsd.org/ports/head/mail/imapsync/Makefile?revision=423489&view=markup
そして、すごく詳しいFAQがあった。さすがに商売としてやっているだけある。
EC2のAmazon Linux向けの手順が一番簡単そう。
当面の方針はEC2のスポットインスタンスを使ってimapsyncを動作させて自前メールサーバからOffice 365(Exchang Online)へ移行かな……
今後
- MXのTTLを短くしとく (2分くらい?)
- Azure AD作って無料トライアル中にimapsyncを検証する
約90万通あるINBOXが移行できればたぶん問題ないので本移行の作業に入る。
- 自前メールシステムからO365へ全転送
- 自分以外のメールボックスをIMAP同期
- クライアントをO365へ向ける
- 自分のメールボックスをimapsyncで移行
- MXを切り替える
- 自前メールシステムをバックアップ
- 自前メールシステムを破棄
お楽しみに!(めんどくさいけど)