MBOX を PST に変換

MBOX を PST に変換。基本的な変換

Mozilla Thunderbird などのクライアントから Microsoft Outlook へメールデータを移行する際、MBOX アーカイブを PST(Personal Storage Table)形式に変換する必要があります。PST 形式は Outlook および Exchange のネイティブ形式で、フォルダー構造や MAPI ベースのメッセージ処理など高度な機能をサポートします。

Aspose.Email for .NET は、開発者が MBOX ファイルから Outlook 互換のストレージへ手動でメッセージを転送でき、変換プロセスを完全に制御できます。以下は、MBOX アーカイブからメッセージをロードし、構造化された Outlook データファイルに保存する例です:

  1. 次を使用して MBOX リーダーを初期化します: MboxStorageReader.CreateReader().
  2. 次を使用して PST ファイルを生成します: PersonalStorage.Create().
  3. ストレージにメールフォルダー(例: “Inbox”)を追加します。
  4. 各メッセージをループ処理し、次に変換します: MapiMessage、そしてフォルダーに挿入します。
// Load the source file
var mbox = MboxStorageReader.CreateReader(mboxFilePath, new MboxLoadOptions());

// Create the destination Outlook data file
using (var personalStorage = PersonalStorage.Create(pstFilePath, FileFormatVersion.Unicode))
{
    // Add a folder to hold imported messages
    var folderInfo = personalStorage.CreatePredefinedFolder("Inbox", StandardIpmFolder.Inbox);

    // Process each message from the source file
    foreach (var eml in mbox.EnumerateMessages())
    {
        var msg = MapiMessage.FromMailMessage(eml);
        folderInfo.AddMessage(msg);
    }
}

変換時にデジタル署名を除去

場合によっては、メッセージに埋め込まれたデジタル署名が対象ファイルに不要です。転送時に除外するには、次を設定します: RemoveSignature のプロパティ MboxToPstConversionOptions true に設定します。

以下のコードサンプルは、このプロパティの使用方法を示しています。

var pstDataStream = new MemoryStream();
var personalStorage = PersonalStorage.Create(pstDataStream, FileFormatVersion.Unicode);
MailStorageConverter.MboxToPst(new MboxrdStorageReader(new FileStream(fileName, FileMode.Open, FileAccess.Read), new MboxLoadOptions()),
personalStorage,
    "Inbox",
new MboxToPstConversionOptions() { RemoveSignature = true });