Конвертація MBOX у PST

Конвертація MBOX у PST. Базова конвертація

При міграції поштових даних з клієнтів, таких як Mozilla Thunderbird, до Microsoft Outlook, часто необхідно конвертувати архіви MBOX у формат PST (Personal Storage Table). Формат PST є рідним для Outlook та Exchange і підтримує розширені функції, такі як структура папок та обробка повідомлень на основі MAPI.

Aspose.Email для .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 });