Konvertera MBOX till PST

Konvertera MBOX till PST. Grundläggande konvertering

När du migrerar e‑postdata från klienter som Mozilla Thunderbird till Microsoft Outlook krävs ofta konvertering av MBOX-arkiv till PST (Personal Storage Table)-formatet. PST-formatet är inbyggt i Outlook och Exchange och stöder avancerade funktioner som mappstrukturer och MAPI‑baserad meddelandehantering.

Aspose.Email för .NET låter utvecklare manuellt överföra meddelanden från MBOX-filer till Outlook‑kompatibel lagring med full kontroll över konverteringsprocessen. Nedan är ett exempel som demonstrerar hur du läser in meddelanden från ett MBOX-arkiv och sparar dem i en strukturerad Outlook‑databasfil:

  1. Initiera MBOX-läsaren med MboxStorageReader.CreateReader().
  2. Generera en PST-fil med hjälp av PersonalStorage.Create().
  3. Lägg till en e‑postmapp (t.ex. ”Inbox”) i lagringen.
  4. Loopa igenom varje meddelande, konvertera det till en MapiMessage, och infoga den i mappen.
// 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);
    }
}

Ta bort digitala signaturer under konvertering

I vissa fall behövs inte digitala signaturer som är inbäddade i meddelanden i målfilen. För att utesluta dem under överföringen, ställ in RemoveSignature egenskap i MboxToPstConversionOptions till true.

Följande kodexempel visar hur man använder denna egenskap:

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