IMAP環境のメールデータバックアップを実施したときに気づいたことをご報告です。いつものPSTファイルを取り扱うときと勝手が違ったのでほぼ備忘録です。
POPとIMAPで相違するメール環境バックアップ
以前に<OutlookのバックアップをWindows標準機能だけで簡単に自動実行する - treedown’s Report>にてOutlookのバックアップをするバッチファイルを作成していましたが、これを使ってIMAP環境のメールデータバックアップを実施したときに気づいたことを
Outlookを通常のPOP3で使っていると、マイドキュメント内のOutlookフォルダに.pstファイルが格納されていますが、IMAPの場合にはパスが違っていたのでメモ。
POPが.pstでIMAPは.ost
通常"%userprofile%\documents\Outlook ファイル"に格納されている.pstファイルがOutlookでのメールデータを格納するファイルです。
なので、マイドキュメントのファイルバックアップを定期的に収集している環境であれば、自然とOutlookファイル=メールデータのバックアップも収集していることになります。
と、思っていたのですが、IMAP環境だとこのファイルもファイル保存パスも相違するので、マイドキュメントのファイルバックアップを取得しているだけではIMAP環境のメールデータはバックアップできていないことに気づきました。(今更ですが)
格納場所は、
Outlookプロファイルの管理画面で確認すると、
"%userprofile%\AppData\Local\Microsoft\Outlook"
となっていることが分かります。隠しフォルダのAppdata配下の階層をたどってOutlookフォルダを開きます。さらにファイル名は.pstでなく、.ostファイルとなっているようです。
POPと違ってIMAP環境のメールデータはファイルの保存先となるパスもファイル形式も相違していることが分かります。
.ostファイルに保管されるメール
IMAP環境でローカル保存されるメールは、アカウント設定によって定められています。
アカウント設定画面、
この画面の右側半分の下に、
このように「オフラインにしておくメール」というスライドバーがIMAP設定の場合には表示されています。POP環境の設定画面には出てきません。
この「オフラインにしておくメール」の分だけ、ローカルの.ostファイルにメールがキャッシュされる、という仕組みのようです。(注:"ようです"と断定していないのは、しっかり検証していないからなのですが。)
メールデータの実態はメールサーバに保存されているIMAP環境ですが、実際にメールデータを取り扱う時はローカルの.ostファイルで処理を済ませておき、完了した処理を徐々にメールサーバに反映させていく、という動きをIMAP環境では見せます。(なので、大量のメールを操作するときには注意が必要になる、という事にもなります。同期が上手くいかなくてメールデータ消失ということも)
.ostファイルを移行してみる
PC-Aで使用されている.ostファイルをテスト環境であるPC-Bに移行して読み込むことが可能かどうか確認してみました。
例えば前述の.ostファイルを別のPCにコピーします。(以下)
このファイルを、Outlookのアカウント設定でデータファイル画面から追加してみます。
画面表示対象をすべてのファイルに変更して、コピーした.ostファイルを選択してみます。
すると、
エラーになりました。.pstファイルじゃないからダメ、という主旨。
では単純にファイル名を.pstにリネームしたらどうだろう、と思い、
ファイルをコピーして、ファイル名の拡張子を単純に.pstに変更してみました。
これで、
選択してみると、
やっぱりダメでした。ファイル.ostと.pstには明確な違いがあるらしいです。
あくまでもキャッシュファイルである.ostファイルを単体でそのまま扱うのはあまり得策ではないようです。
どうしてもバックアップしたいとき
何らかの都合で、IMAP環境のメールデータをバックアップとして複製しておきたい場合、今回はメールデータを新規作成した.pstファイルにコピーすることでメールデータのバックアップとしました。
手順は、先ほどのOutlookアカウント設定画面のデータファイルタブを開いて、「追加」をクリックするところまでは共通ですが、
Outlookデータファイル開くのではなく、ファイル.pstを新規作成します。
ここでは「Backup.pst」を新規作成しました。
この状態でOutlook画面に戻ると、
新たに、「Backup」という.pstファイルと同名の項目が追加されています。
このBackupという箇所に
あらたに「フォルダの作成」で
「受信トレイバックアップ」とか「送信済みアイテムバックアップ」という(空の)フォルダを作成して、
全部選択(Ctrl+Aで全選択可能)したメールボックス内のメールを、コピー(Ctrlを押下しながらドラッグ&ドロップするとコピーになる)して完了。(※かならずコピーしてください、移動してしまうとメールサーバからもメールデータが消えてしまうことになります。)
IMAPメールサーバのデータを直接操作することになる場合は処理に時間が掛かりますが、コピーならローカルの.ostファイル内に保存された.emlファイルのコピーだけなのでそれほど時間も掛からずメールデータはバックアップできました。※画面はテスト環境です。
終わったら、
データファイル画面からデータファイルを削除(マウント解除)しておきます。※間違わないように注意。またここの削除は原則として即ファイル削除にはなりません。
ファイルは、
このようにそのまま残るので、このBackup.pstファイルを安全な外付けハードディスクのバックアップ保存領域にでも保存しておけば、バックアップ完了です。
操作ミスにはしっかり注意しないといけないけど、単純にメールデータのバックアップを収集しておく、という目的なら、.pstファイルを新規作成してそこに保存しておく、というのが良さそうに思えました。