Převod MBOX na PST

Převod MBOX na PST. Základní převod

Při migraci poštovních dat z klientů jako Mozilla Thunderbird do Microsoft Outlook často vyžadujete převod archivů MBOX do formátu PST (Personal Storage Table). Formát PST je nativní pro Outlook a Exchange a podporuje pokročilé funkce jako struktury složek a zpracování zpráv založené na MAPI.

Aspose.Email pro .NET umožňuje vývojářům ručně přenášet zprávy ze souborů MBOX do úložiště kompatibilního s Outlookem s plnou kontrolou nad převodním procesem. Níže je příklad, který ukazuje, jak načíst zprávy z archivu MBOX a uložit je do strukturovaného datového souboru Outlook:

  1. Inicializujte čtečku MBOX pomocí MboxStorageReader.CreateReader().
  2. Vytvořte soubor PST pomocí PersonalStorage.Create().
  3. Přidejte poštovní složku (např. „Inbox“) do úložiště.
  4. Procházejte každou zprávu, převeďte ji na MapiMessage, a vložte jej do složky.
// 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);
    }
}

Odstranit digitální podpisy během konverze

V některých případech digitální podpisy vložené do zpráv nejsou v cílovém souboru potřebné. Pro jejich vyloučení během převodu nastavte RemoveSignature vlastnost v MboxToPstConversionOptions na true.

Následující ukázka kódu ukazuje, jak využít tuto vlastnost:

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 });