こんにちは、伊藤です。
今回は、Exchange OnlineのIMAP移行ツールを使用したメール移行を実施する機会がございましたので、その仕様と注意事項をまとめました。
Exchange Onlineの標準機能である「IMAP移行ツール」を使用したメール移行を実施しました。 公式ドキュメントには表れにくい仕様や、エラーとその対処法、注意事項が見えてきましたので、備忘録としてまとめます。
公式の考慮事項については、以下のMicrosoft公式ドキュメントも併せてご参照ください。
Exchange Online の IMAP メールボックスを移行する
移行可能なメールアイテムの最大サイズについて
公式ドキュメントの考慮事項には「移行できるメールの最大サイズは 35 MB です。」と記載されています。しかし検証の結果、これはExchange Onlineの既定のメッセージ受信サイズ制限に基づいた記述であり、実際には設定を引き上げることでそれ以上の移行が可能であることが確認できました。
- 既定の最大メッセージサイズ: 送信用 35 MB / 受信用 36 MB
- 引き上げ上限: 最大 150 MB まで設定変更可能
ただし、150MBのメールがそのまま移行できるわけではありません。移行時の変換(Base64エンコード等)により、データサイズは実質約33%大きくなります。そのため、実際の移行可能な最大サイズは約 112 MB となります。 これ以上のサイズのメールは移行不可となり、移行バッチにおいてスキップされます(スキップされたアイテムの種類は LargerItem と表示されます)。
サイズ制限の詳細については、以下のドキュメントをご参照ください。
Exchange Online の制限
スキップされるアイテムの種類と対処
移行バッチの実行時、アイテムによっては移行がスキップされます。主なスキップ理由として以下の3つが挙げられます。
LargerItem(サイズ超過)
前述の通り、Exchange Online側で設定されている最大メッセージサイズを超過しているメールです。上限の150MBまで設定を引き上げてもなおスキップされる巨大な添付ファイル付きメール等は、仕様上移行できません。
CorruptItem(破損アイテム)
移行バッチが移行元からデータを取得する際、正常に読み取れなかった破損アイテムです。Exchange Onlineへは移行されません。 厄介な点として、件名や日付が記載されていない CorruptItem の場合、エラーログから該当メールを特定するのが非常に困難です。そのため、「スキップされたアイテムの詳細画面」に表示されるフォルダ名を頼りに、移行元とExchange Online側のメールボックスを目視で比較し、該当アイテムを特定することをおすすめします。
MissingItemInTarget(移行先でのアイテム不在)
「移行済みのメールアイテムが、Exchange Online側のフォルダ内に存在しない」というエラーです。 これは移行失敗ではなく、移行バッチによる同期期間中に、ユーザがExchange Online側で該当メールを削除したり、別のフォルダへ移動させたりした場合に発生します。移行元のフォルダとExchange Online側の格納先が一致しなくなったため、システムが同期をスキップしたという証拠であり、すでに移行自体は完了している状態と言えます。
増分同期が走らない場合の解決策
移行バッチは初回同期完了後も差分を埋めるために増分同期を行いますが、稀にこれが正常に実行されない場合があります。増分同期が機能しているかは、対象メールボックスの「同期されたアイテム」の値が増加しているかで確認できます。
【対処方法】
増分同期が正常に実行されない場合は、現在の移行バッチを一度削除し、再度同一のユーザで新規の移行バッチを作成してください。 新規バッチを作成しても、すでにExchange Onlineへ移行されているメールは「同期済み」としてスキップされるため、重複することなく必要な増分のみを取り込むことが可能です。 (※ただし、移行済みのメールをExchange Online側で別のフォルダに移動していた場合、移動前の元のフォルダに同一メールが再度コピーされてしまうためご注意ください。)
移行元でメールを削除した場合の挙動
並行稼働中などに移行元(旧サーバ)でメールアイテムを削除した場合、次回の同期でExchange Online側の該当メールも削除状態となります。
この時、メールは完全に消去されるわけではなく、Exchange Onlineの「復元可能なアイテム(回復可能なアイテム)」領域へ移動します。デフォルトの保持ポリシーが適用されている場合、この領域では、14日間アイテムが保持され、その期間を経過した後にシステムによって完全削除されます。
上述のスキップされるアイテムの種類「MissingItemInTarget」や移行バッチの再作成の仕様も踏まえて、並行稼働中などでは、基本的に移行元(旧サーバ)でメールアイテムを操作することが望ましいと考えています。
容量限界に関する移行エラー(QuotaExceededException)
移行エラーでエラー: QuotaExceededException が表示された場合、Exchange Onlineメールボックスの容量上限に達していることを示しています。
ここで注意すべき点があります。受信トレイなどの目に見える使用状況が100%になっていなくてもエラーになるケースがあるという点です。 これは、削除状態のメールが移動する「復元可能なアイテム」領域自体が容量制限に達している場合に発生します。移動先がパンクしているため、移行処理そのものがエラー扱いとなります。「復元可能なアイテム」領域自体が容量制限に達しているかどうかは、以下で確認可能です。
【確認方法】
Exchange Online PowershellでExchange Onlineに接続し、「復元可能なアイテム」領域の使用状況を確認します。
Recoverable Itemsの最大サイズは30GBですが、以下の例では、「復元可能なアイテム(Recoverable Items)」は30GBと容量制限に達していることが分かります。
> Connect-ExchangeOnline
> Get-MailboxFolderStatistics -Identity <ユーザID> -FolderScope RecoverableItems | Select-Object Name, FolderAndSubfolderSize
Name FolderAndSubfolderSize
---- ----------------------
Recoverable Items 30 GB (32,212,361,236 bytes)
Audits 0 B (0 bytes)
Calendar Logging 394.7 KB (404,136 bytes)
Deletions 0 B (0 bytes)
DiscoveryHolds 0 B (0 bytes)
Purges 30 GB (32,211,957,100 bytes)
SubstrateHolds 0 B (0 bytes)
Versions 0 B (0 bytes)
エラー: QuotaExceededExceptionの対処方法は以下となります。
【対処方法】
- ユーザご自身で「復元可能なアイテム」内の不要なメールアイテムを削除する。
- 「復元可能なアイテム」の保持ポリシーを一時的に変更し、完全削除処理を強制実行して空き容量を作る。
- アーカイブメールボックスを有効化して古いメールを逃がす。
ヘッダーの文字コードに関する移行停止エラー
移行中に以下のようなエラーが発生し、処理が停止してしまうことがあります。
エラー: ExchangeDataException: Decoding of header Subject failed; raw value: XXXXXX --> Character set name (XXX) is invalid or not installed.
これは、メールのヘッダー(主に件名など)の文字コード(エンコード)が破損している、あるいは不正な規格が使われていることが原因です。このエラーに該当するメールが移行元に存在すると、スキップ処理されずエラー扱いとなり、バッチが停止してしまいます。
【対処方法】
エラーメッセージの raw value: 以降に記載されている件名などの情報を元に、移行元のサーバで検索をかけ、原因となっているメールファイルを特定します。そのメールを別フォルダに退避させる等して移行対象外にすることでエラーが解消し、他の正常なメールデータの移行が再開されることを確認してください。
「復元可能なアイテム」に覚えのないメールが存在する理由
移行後、ユーザの「復元可能なアイテム」領域に、本人が移行元で削除した覚えのないメールが含まれていることがあります。
これは、移行元ですでに削除されていた本来のデータに加え、移行バッチが同期処理を行う過程で、安全のために一時的に作成された「重複アイテム(過去のバックアップの残骸)」が含まれているためです。 システムが一時的に残したこれらの重複アイテムについては、最新の同一メールが正しいメールフォルダへ正常に移行されているため心配いりません。「復元可能なアイテム」内にある残骸は、アイテム保持ポリシーによって自動的に削除されるため、放置して問題ありません。
まとめ
今回は、Exchange OnlineのIMAP移行ツールを使用したメール移行の仕様と注意事項をまとめました。
これからIMAP移行を計画されている管理者の方の参考になれば幸いです。


