Mehrere MBOX-Dateien zusammenführen

MBOX ist eine Familie von Mailbox-Dateiformaten, die von verschiedenen E-Mail-Anwendungen wie Thunderbird, Eudora, Apple Mail, Entourage usw. verwendet wird. MBOX-Dateien sind das typische Format zum Speichern von E-Mails. Sie enthalten alle Nachrichtendaten, einschließlich der Eigenschaften, des Inhalts und der Anhänge. Manchmal ist es aus verschiedenen Gründen erforderlich, MBOX-Datendateien zusammenzuführen. Einige dieser Gründe sind unten aufgeführt:

  • Es gibt mehrere E-Mail-Archive, die zusammengeführt werden können, um sie zu speichern
  • Um die Suchleistung bestimmter E-Mails zu verbessern
  • Um die zusammengeführte MBOX-Datei weiter in ein anderes Mailbox-Format, wie PST, zu konvertieren
  • Um mehrere Mailboxen in eine einzige Datei zusammenzuführen

In diesem Artikel lernen wir wie man mehrere MBOX-Dateien in eine einzige in C# zusammenführt.

Die folgenden Themen werden in diesem Artikel behandelt:

C# API zum Zusammenführen von MBOX-Dateien

Um MBOX-Dateien zusammenzuführen, verwenden wir Aspose.Email für .NET. Es ist eine beliebte und funktionsreiche Bibliothek zur Implementierung von E-Mail-Anwendungen mit .NET. Außerdem ermöglicht es Ihnen, verschiedene E-Mail-Formate zu manipulieren und zu konvertieren. Sie können Aspose.Email für .NET über NuGet installieren oder seine DLL herunterladen.

PM> Install-Package Aspose.Email

Wie man mehrere MBOX-Dateien zusammenführt

Die folgenden Schritte sind erforderlich, um mehrere MBOX-Dateien in eine einzige MBOX-Datei mit Aspose.Email für .NET zusammenzuführen.

  • Erstellen Sie eine Ziel-MBOX-Datei zum Schreiben
  • Laden Sie nacheinander die Quell-MBOX-Dateien
  • Lesen Sie Nachrichten aus einer Quell-MBOX-Datei und schreiben Sie sie in eine Ziel-MBOX

Lassen Sie uns nun den Code schreiben und MBOX-Dateien mit C# zusammenführen.

Mehrere MBOX-Dateien mit C# zusammenführen

Die folgenden Schritte sind erforderlich, um MBOX-Dateien in C# zusammenzuführen.

Das folgende Codebeispiel zeigt, wie man MBOX-Dateien zusammenführt.

/// <summary>Merges MBOX files.</summary>
/// <param name="targetMbox">A target MBOX filename.</param>
/// <param name="sourceMbox">A list of MBOX filenames to merge.</param>
/// <exception cref="System.InvalidOperationException">The target MBOX file already exists.</exception>
public static void MergeMboxes(string targetMbox, params string[] sourceMbox)
{
if (File.Exists(targetMbox))
{
throw new InvalidOperationException("The target mbox file already exists.");
}
// create a target MBOX and open it to writing
using (var mboxWriter = new MboxrdStorageWriter(targetMbox, false))
{
// open and read source MBOX files in a loop
foreach (var sourceFileName in sourceMbox)
{
using (var mboxReader = new MboxStorageReader.CreateReader(sourceFileName, new MboxLoadOptions))
{
// read message from source and write it to target
foreach (var message in mboxReader.EnumerateMessages())
{
mboxWriter.WriteMessage(message);
}
}
}
}
}
view raw MergeMboxes.cs hosted with ❤ by GitHub

Kostenlose Lizenz erhalten

Sie können eine kostenlose temporäre Lizenz erhalten, um Aspose.Email für .NET ohne Evaluierungsbeschränkungen zu verwenden.

Fazit

In diesem Artikel haben Sie gelernt, wie man MBOX-Dateien in C# zusammenführt. Sie können einfach Aspose.Email für .NET installieren und die Unterstützung für das MBOX-Format in Ihren Anwendungen integrieren. Darüber hinaus können Sie andere Funktionen von Aspose.Email mithilfe der Dokumentation erkunden. Auch können Sie Ihre Fragen in unserem Forum posten.

Siehe auch