Umwandeln von MBOX nach PST
MBOX nach PST konvertieren. Grundlegende Konvertierung
Beim Migrieren von Mail‑Daten von Clients wie Mozilla Thunderbird zu Microsoft Outlook ist häufig die Konvertierung von MBOX‑Archiven in das PST‑Format (Personal Storage Table) erforderlich. Das PST‑Format ist native für Outlook und Exchange und unterstützt erweiterte Funktionen wie Ordnerstrukturen und MAPI‑basierte Nachrichtenverarbeitung.
Aspose.Email für .NET ermöglicht Entwicklern, Nachrichten manuell von MBOX‑Dateien in Outlook‑kompatiblen Speicher zu übertragen, wobei sie die volle Kontrolle über den Konvertierungsprozess haben. Nachfolgend ein Beispiel, das zeigt, wie man Nachrichten aus einem MBOX‑Archiv lädt und in einer strukturierten Outlook‑Datendatei speichert:
- Initialisieren Sie den MBOX‑Reader mit MboxStorageReader.CreateReader().
- Erzeugen Sie eine PST‑Datei mithilfe von PersonalStorage.Create().
- Fügen Sie dem Speicher einen Mail‑Ordner (z. B. „Inbox“) hinzu.
- Durchlaufen Sie jede Nachricht, konvertieren Sie sie zu einem MapiMessage, und fügen Sie sie in den Ordner ein.
// 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);
}
}
Digitale Signaturen bei der Konvertierung entfernen
In einigen Fällen werden digitale Signaturen, die in Nachrichten eingebettet sind, in der Zieldatei nicht benötigt. Um sie während der Übertragung auszuschließen, setzen Sie die RemoveSignature Eigenschaft in der MboxToPstConversionOptions auf true.
Das folgende Codebeispiel zeigt, wie diese Eigenschaft verwendet wird:
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 });