Mbox-Speicherdateien

EML-Nachrichten in eine PST-Datei zu importieren, ist eine gängige Anforderung, insbesondere für Benutzer, die zwischen E-Mail-Clients migrieren oder E-Mails zur Speicherung und Sicherung archivieren. Das PST-Format bewahrt die Struktur, das Format und die Anhänge des Inhalts und eignet sich somit für eine nahtlose Integration und Verwaltung innerhalb der Outlook-Anwendung. Der Hauptvorteil dieses proprietären Microsoft-Dateiformats ist die Möglichkeit, lokale Archive von E-Mail-Daten zu erstellen, was es ermöglicht, E-Mails, Kontakte und andere verwandte Informationen offline zu verwalten und darauf zuzugreifen. In diesem Artikel werden wir erkunden, wie Sie EML einfach und effizient in PST importieren können, indem Sie eine fortschrittliche C#-Bibliothek mit Codebeispielen und Schritten verwenden.

.NET API zur Verwaltung von EML

Aspose.Email für .NET ist eine robuste und vielseitige API, die eine Vielzahl von Funktionen zum Arbeiten mit E-Mail-Nachrichten und Mail-Servern in .NET-Anwendungen bietet. Die API bietet eine nahtlose Integration mit gängigen E-Mail-Protokollen und -Formaten, die Entwicklern das Erstellen und Manipulieren von E-Mail-Nachrichten erleichtert.

Eine der bemerkenswerten Funktionen von Aspose.Email ist die umfangreiche Unterstützung für die Konvertierung von E-Mails zwischen verschiedenen Formaten, einschließlich des Übertragens von EML nach PST. Durch die Nutzung des reichen Satzes von Klassen und Methoden, die von Aspose.Email bereitgestellt werden, können Entwickler komplexe E-Mail-bezogene Aufgaben ausführen, wie z. B. das Verwalten von Anhängen, das Verwalten von Ordnern und das Konvertieren von E-Mails zwischen verschiedenen Formaten. Bevor Sie mit dem Code beginnen, müssen Sie die Bibliothek in Ihr C#-Projekt integrieren. Sie können sie ganz einfach herunterladen von der Aspose-Website oder über NuGet.

Install-Package Aspose.Email

Sobald die Bibliothek Teil Ihres Projekts ist, können Sie mit dem Programmieren beginnen.

Eine einzelne EML-Nachricht in eine PST-Datei importieren

Die umfassende API von Aspose.Email bietet einfache und intuitive Codebeispiele und Schritte, um eine EML-Nachricht zu einer PST-Datei hinzuzufügen:

  1. Erstellen Sie eine neue persönliche Speicherdatei mit der Create-Methode der PersonalStorage-Klasse, wobei Sie den Dateinamen und die Formatversion als Parameter angeben.
  2. Erstellen Sie einen vordefinierten “Posteingang”-Ordner innerhalb der PST-Datei mit der CreatePredefinedFolder-Methode der PersonalStorage-Klasse, wobei Sie “Posteingang” als Ordnernamen und StandardIpmFolder.Inbox als Ordnertyp angeben.
  3. Laden Sie eine E-Mail-Nachricht aus einer Datei mit der ‘Load’-Methode der MapiMessage-Klasse, indem Sie ihren Namen und eine Instanz von EmlLoadOptions als Parameter angeben.
  4. Fügen Sie die geladene E-Mail-Nachricht dem zuvor erstellten Posteingangsordner innerhalb der PST-Datei mit der AddMessage-Methode der FolderInfo-Klasse hinzu.

Infolgedessen wird eine neue persönliche Speicherdatei mit dem Namen “test.pst” erstellt, die Nachricht aus der Datei “test.eml” wird dem Posteingangsordner hinzugefügt und steht für weitere Manipulationen oder Speicherungen zur Verfügung.

Mehrere EML-Nachrichten in eine PST-Datei importieren

Aspose.Email ermöglicht es, eine Menge von Nachrichten aus einem Ordner in eine PST-Datei hinzuzufügen. Die AddMessages-Methode der FolderInfo-Klasse ermöglicht es Ihnen, mehr als eine EML-Nachricht in den Posteingangsordner innerhalb einer Speicherdatei zu importieren. Das folgende Codebeispiel zeigt Ihnen, wie Sie diese Funktion in Ihr Projekt implementieren können:

  1. Erstellen Sie eine neue persönliche Speicherdatei mit der Create-Methode der PersonalStorage-Klasse, wobei Sie den Dateinamen und die Formatversion als Parameter angeben.
  2. Erstellen Sie einen vordefinierten “Posteingang”-Ordner innerhalb der PST-Datei mit der CreatePredefinedFolder-Methode der PersonalStorage-Klasse, wobei Sie “Posteingang” als Ordnernamen und StandardIpmFolder.Inbox als Ordnertyp angeben.
  3. Fügen Sie ein oder mehrere E-Mail-Nachrichten aus einem Ordner dem zuvor erstellten Posteingangsordner innerhalb der PST-Datei mit der AddMessages-Methode der FolderInfo-Klasse hinzu, wobei Sie ein MapiMessageEnumerator-Objekt angeben, das die Nachrichten darstellt, die aus dem angegebenen Ordnerpfad importiert werden sollen.

Hier nutzen wir den ‘MapiMessageEnumerator’, um über die EML-Dateien im Quellordner zu iterieren und sie der PST-Datei hinzuzufügen.

MapiMessage Enumerator-Implementierung

Mit Aspose.Email können Sie die Klasse ‘MapiMessageEnumerator’ definieren, die das IEnumerable-Interface implementiert. Diese Klasse ermöglicht das Iterieren durch eine Sammlung von MapiMessage-Objekten, die E-Mail-Nachrichten darstellen, die als .eml-Dateien in einem bestimmten Ordner gespeichert sind. Die verschachtelte Enumerator-Klasse innerhalb von MapiMessageEnumerator dient als Iterator, der das Laden von EML-Dateien als MapiMessage-Objekte durchführt und den Iterationsprozess verwaltet. Sie verfügt über Methoden zum Iterieren durch die Dateien, zum Entsorgen von Ressourcen und zum Zurücksetzen des Enumerators.

Das folgende Codebeispiel zeigt Ihnen, wie Sie programmgesteuert durch eine Sammlung von MapiMessages iterieren können:

  1. Definieren Sie die Klasse ‘MapiMessageEnumerator’, die einen ‘folderPath’-Parameter akzeptiert, der das Verzeichnis angibt, in dem sich die .eml-Dateien befinden.
  2. Erstellen Sie eine neue Instanz der ‘Enumerator’-Klasse mit der ‘GetEnumerator’-Methode und übergeben Sie den Ordnerpfad.
  3. Speichern Sie den ‘folderPath’ in einem Feld und verwenden Sie den ‘IEnumerator’, um durch die Dateipfade im Ordner zu iterieren.
  4. Wenn die ‘Enumerator’-Klasse konstruiert wird, initialisieren Sie den ‘folderPath’ und rufen Sie die ‘Reset()’-Methode auf, um den ‘fileEnumerator’ vorzubereiten.
  5. Implementieren Sie die ‘Current’-Eigenschaft und die Current-Eigenschaft von IEnumerator explizit.
  6. Stellen Sie eine ‘Dispose’-Methode bereit, um den ‘fileEnumerator’ und die aktuelle ‘MapiMessage’ zu entsorgen, falls sie existieren.
  7. Verwenden Sie die ‘MoveNext’-Methode, um durch die Dateipfade zu iterieren, versuchen Sie, eine ‘MapiMessage’ aus der Datei zu laden, und protokollieren oder behandeln Sie alle auftretenden Fehler.
  8. In der ‘Reset’-Methode entsorgen Sie den ‘fileEnumerator’ und erstellen einen neuen, indem Sie die .eml-Dateien im ‘folderPath’ enumerieren.

Fazit

Zusammenfassend lässt sich sagen, dass Aspose.Email für .NET eine zuverlässige und funktionsreiche Lösung für die Übertragung von EML-Dateien in das PST-Format bietet, egal ob Sie zwischen E-Mail-Clients migrieren oder E-Mail-Daten zur Speicherung und Sicherung archivieren. Mit intuitiven Codebeispielen und umfassender Dokumentation können Entwickler diese wesentliche Funktionalität mühelos in ihre Projekte integrieren. Darüber hinaus bietet das kostenlose Forum ein gemeinschaftlich unterstütztes System für Fragen oder Probleme, die während der Implementierung auftreten können. Um weitere Informationen über die hochgradigen Funktionen der API zu erhalten, besuchen Sie bitte unsere Referenzressourcen.

Siehe auch