電子メールファイルの一括インポート

 
MailStoreは、PSTやMBOXなどの個別の電子メールファイルや、EML、MSGといったユーザーの電子メールファイルが格納されたフォルダのアーカイブに対応しています。

このページでは、Pythonで作成された一括インポートスクリプトを使用して、すべてのユーザーのPST, MBOX, EML, MSGファイルファイルをアーカイブする方法について説明します。

この一括インポートスクリプトは、MailStoreユーザー名と同名のフォルダに電子メールファイルが格納されていることを前提としています。

このようなフォルダ構成はスクリプトパッケージに含まれているスクリプトによって簡単に作成することができます。

1ユーザーのPSTもしくはMBOXファイルのみをアーカイブする場合は、スクリプトパッケージに含まれるbulkImportPST.bat、bulkImportMBOX.bat を使用することができます。この場合、Pythonのインストールは必要ありません。

 


Pythonの準備

提供されるスクリプトはPython言語で記述されており、実行するにはPython 3.2 以降が必要となります。PythonのプログラムはPythonのウェブサイト www.python.org からダウンロードすることができます。スクリプトパッケージの中から mailstoreapi ディレクトリをPythonのインストールフォルダの site-packages ディレクトリに移動します。 Windows版のPython 3.3.であれば、デフォルトの場所は C:\Python33\Lib\site-packages となります。スクリプト自体は例えば"マイ ドキュメント"などのように他の場所に配置して構いません。

 


フォルダ構成の準備

スクリプトパッケージに含まれている createUserFolders.py  スクリプトを使用すると、既存のMailStore Server ユーザーの一覧を取得し、同じ名前のフォルダをファイルシステム上に作成することができます。一括インポートスクリプトはフォルダ内に配置された電子メールファイルを、そのフォルダ名を使用してMailStoreのユーザーと対応付けします。

スクリプトを実行するには予め Configuration the MailStore Server Service で、MailStore Server管理API が有効化されている必要があります。

Pythonのインストール後、スクリプトを右クリックして、"Edit with IDLE"を選択すると、同梱のPythonエディタ"IDLE"でスクリプトを編集することができます。USER, PASSWORD, HOST, PORT の値をご使用の実行環境に応じて設定してください。

rootpath 変数には、フォルダが作成される起点となるパスを指定します。

IDLE上でF5キーを押すとスクリプトが実行されます。

 


アーカイブプロファイルの準備

一括インポートスクリプトを実行する前に、予め手動でMailStore Server上にアーカイブ元のメールファイルのタイプに応じて(PST, MBOX, EML/MSG) 、アーカイブプロファイルを作成しておく必要があります。

アーカイブプロファイルの設定は読み込むすべてのファイルに対して適用されます。例えば、除外や包含するフォルダの指定や、フィルタの定義はアーカイブするすべてのファイルに適用されます。

プロファイルで指定された、PSTやMBOX、EML・MSGファイルを含むフォルダのパスは、一括インポートスクリプトによって設定値が上書きされて実行される為、実際の処理には反映されません。加えて、MailStoreヘッダは常に無視されのに対し、EML/MSGファイルのアーカイブ時にはサブフォルダも認識されます。

重要な注意点: PSTファイルをアーカイブする場合、アーカイブプロファイルを実行するマシン上
にMicrosoft Outlookがインストールされている必要があります。

アーカイブするファイルタイプに応じて、次のような名前でプロファイルを作成してください:

templateBulkImportEMLMSG, templateBulkImportPST, templateBulkImportMBOX

 


フォルダへのファイル配置

ユーザー毎に、rootpath 変数で指定したパスの配下に対応するフォルダへ電子メールファイルを配置します。このスクリプトでは、異なるファイルタイプの同時インポートはサポートしていません。例えば、PSTファイルとMBOXファイルをアーカイブしたい場合は、必要に応じて個別に実行してください。

 


アーカイブの実行

メールのアーカイブは、bulkImport.py スクリプトを使って行います。 実行する前に予めご使用のMailStore Server環境に応じてスクリプト中のホスト名などを適切な値に設定しておきます。スクリプトの編集には任意のテキストエディタもしくはPythonに同梱されているIDLEというエディタを使用することができます。 (「フォルダ構成の準備」の説明を参照してください)

ご使用の環境における適切なパラメータ情報は、MailStoreの既存のアーカイブプロファイルのスケジュール設定を開き、"コマンドラインのコピー"ボタンを押して、メモ帳などのテキストエディタへ貼り付けることで確認することができます。

MAILSTORECMD 変数には、MailStoreCmd.exe の代わりにMailStoreCmdSilent.exe を指定することができます。こうすることで、アーカイブの実行中にコマンドラインのウィンドウを表示しないようにすることができます。

一括インポートスクリプトは暗号化されたパスワード情報を必要とします。 これは --pc= パラメータの値で確認することができます。

createUserFolders.py スクリプトと同様に、rootpath 変数に、ユーザー毎のフォルダが格納されるフォルダのパスを指定してください。 filetype 変数にはアーカイブするファイルタイプに応じて次のいずれかの値を指定します。
         指定可能な値: pst, mbox or emlmsg

Python同梱のエディタ"IDLE"でスクリプトを開き、F5キーを押してスクリプトを実行します。

 


ログの取得

アーカイブプロセスの実行中は、ステータスウィンドウで進捗状況を確認することができます。 exitcode:0 というメッセージはファイルもしくはフォルダが正常にアーカイブされたことを意味します。他のメッセージが表示された場合は、エラーが発生したことを示しています。実行タスクのログは rootpath 変数で指定したフォルダに次のような名前で出力されます。
Date-Time-User-File.log (PST,MBOX)
もしくは
Date-Time-User.log (EML/MSG)
 
MailStore Clientの「直近の結果」画面で、実行されたすべてのアーカイブプロファイルの概要を確認することができます。ログファイルの名前は処理の開始時刻から始まっているので、開始時刻を元にして失敗した処理を特定することができます。