こんにちは
先日、小規模なメールデータ移行をOffice365のExchange Onlineに対して行うことがありました
通常、Exchange Onlineへのメールデータ移行には、MSが提供している「移行バッチツール」を使用することが一般的です。
しかし、今回の移行ではいくつかのアカウントがエラーになってしまい、移行が完了しませんでした。
そこで、代替案を探していたところ「imapsync」というツールを発見したのでご紹介したいと思います。
imapsync とは
「imapsync」はIMAP移行ソフトウェアです。インストールしたサーバが中継役となり、移行元サーバから、移行先サーバにメールデータを転送していきます。
今回は、オンプレミス環境のIMAPサーバから、Exchange Onlineに対してメールデータ移行を実施します。
インストール
まず、中継用サーバを用意し、imapsyncをインストールします。OSに関しては、Windows、Linuxであれば、対応しています。
今回は、AzureにCentOS 7 を構築し、インストールしていきます。サーバの構築に関しては別記事を参照ください。
まず、以下のコマンドにてimapsyncをインストールしていきます。
sudo yum install imapsync
もし、yumコマンドにてインストールができない場合は、EPELリポジトリが追加されていないことが原因の場合があります。その場合、以下のコマンドにてレポジトリを追加します。
sudo yum install epel-release
インストールが完了すれば、あとは特に設定等は必要ありませんので、移行を実施していきます。
コマンド実行
以下のコマンドを実行すると、一連の移行処理が問題なく行えるかをimapsyncが確認してくれます。
問題ない場合は最後の –dry を外し、本実行を行います。
imapsync \ --host1 <移行元IMAPサーバのIPアドレス又は、ホストネーム> --port1 <接続ポート> --ssl1 --authmech1 LOGIN \ --user1 <移行元ユーザ名> --password1 <移行元ユーザパスワード> \ --host2 outlook.office365.com --port2 993 --ssl2 --authmech2 LOGIN \ --user2 <移行先Office365ユーザ名> --password2 <移行先Office365ユーザパスワード> \ --dry
各引数の説明
引数 | 入力値(例) | 説明 |
–host1 | testsios.ac.jp | 移行元IMAPサーバのホスト名 |
–port1 | 993 | 移行元サーバのIMAP(S)ポート |
–ssl1 | 入力値なし | 移行元との通信にsslの使用を明記 |
–authmech1 | LOGIN | 認証形式の指定 |
–user1 | siostest | 移行元ユーザ名 |
–password1 | PassWord01 | 移行元ユーザのパスワード |
–host2 | outlook.office365.com(固定) | Exchange Onlineのホスト名 (変更の必要はなし) |
–port2 | 993(固定) | Exchange Onlineのポート指定 (変更の必要はなし) |
–ssl2 | 入力値なし | 移行先との通信にsslの使用を明記 |
–authmech2 | LOGIN | 認証形式の指定 |
–user2 | siostest@testsios.onmicrosoft.com | 移行先ユーザ名 |
–passwprd2 | PassWord02 | 移行先ユーザのパスワード |
–dry | 入力値なし | 明記した場合はテスト実行 |
コマンドが終了したらカレントディレクトリにログフォルダ(LOG_imapsync/)が作成され、その中に実行ログが保存されています。
エラーが発生した場合は、そのログを解析して対処していくといいでしょう。
今回の設定は、必要最低限のオプションしか使用していませんが、imapsyncには多くのオプションが実装されています。詳細は下記をご参照ください。
詳細
最後に
今回は、「移行バッチツール」を使用することなくメールデータを移行する手段として、「imapsync」を紹介させていただきました。
注意点としては「imapsync」は、IMAP(S)の通信ポートを使用しますが、IMAP(S)の通信ポートをネットワークにセキュリティ対策なしに開放するのは危険ですので、IPアドレスでフィルターするなど対策を実施してください。