Schreiben und Lesen von Nachrichten auf Thunderbird Storage in C# .NET

Thunderbird ist eine Open-Source-E-Mail-Client-Anwendung, mit der Sie mehrere E-Mail-Server konfigurieren und auf ihre E-Mail-Nachrichten zugreifen können. Dadurch können Sie E-Mails von mehreren Konten an einem einzigen Ort verwalten. In bestimmten Fällen müssen Sie möglicherweise E-Mail-Nachrichten im Thunderbird-Speicher programmgesteuert erstellen und darauf zugreifen. Dementsprechend erfahren Sie in diesem Artikel, wie Sie Nachrichten auf Thunderbird-Speicher in C# .NET schreiben und lesen.

C# .NET-API zum Schreiben und Lesen von Nachrichten im Thunderbird-Speicher

Um E-Mail-Nachrichten im Thunderbird-Speicher zu schreiben und zu lesen, verwenden wir Aspose.Email for .NET. Es handelt sich um eine E-Mail-Verarbeitungs-API, mit der Sie E-Mails bearbeiten und mit gängigen E-Mail-Clients wie Thunderbird, Outlook usw. arbeiten können. Sie können die DLL der API herunterladen oder sie mit dem folgenden Befehl von NuGet installieren .

PM> Install-Package Aspose.Email

Schreiben Sie eine Nachricht zum Thunderbird-Speicher in C# .NET

Mit Aspose.Email für .NET können Sie in wenigen Schritten neue Nachrichten erstellen und auf dem Speicher von Thunderbird ablegen. Im Folgenden sind die Schritte zum Ausführen dieses Vorgangs in C# aufgeführt.

Das folgende Codebeispiel zeigt, wie eine Nachricht in den Thunderbird-Speicher in C# .NET geschrieben wird.

// Öffnen Sie die Speicherdatei mit FileStream
FileStream stream = new FileStream("ExampleMbox.mbox", FileMode.Open, FileAccess.Write);

// Initialisieren Sie MboxStorageWriter und übergeben Sie den Stream an ihn
MboxrdStorageWriter writer = new MboxrdStorageWriter(stream, false);

// Bereiten Sie eine neue Nachricht mit der MailMessage-Klasse vor
MailMessage message = new MailMessage("from@domain.com", "to@domain.com", Guid.NewGuid().ToString(), "added from Aspose.Email");
message.IsDraft = false;

// Fügen Sie diese Nachricht dem Speicher hinzu
writer.WriteMessage(message);

// Schließen Sie alle zugehörigen Streams
writer.Dispose();
stream.Close();

Lesen Sie Nachrichten aus dem Thunderbird-Speicher in C#

Um die Nachrichten aus dem Thunderbird-Speicher zu lesen, müssen wir die Speicherdatei mit der Klasse MboxrdStorageReader laden. Im Folgenden sind die Schritte zum Lesen von Nachrichten von Thunderbird in C# aufgeführt.

  • Laden Sie zuerst die MBOX-Datei in ein FileStream-Objekt.
  • Erstellen Sie dann eine Instanz von MboxrdStorageReader, um die Speicherdatei zu lesen.
  • Lesen Sie danach die erste Nachricht mit der Methode MboxrdStorageReader.ReadNextMessage().
  • Starten Sie dann eine Schleife, um alle Nachrichten zu durchlaufen.
  • Lesen Sie jede Nachricht und speichern Sie sie bei Bedarf auf der Festplatte.
  • Schließlich entsorgen Sie den Reader am Ende.

Das folgende Codebeispiel zeigt, wie Nachrichten aus dem Thunderbird-Speicher in C# gelesen werden.

// Öffnen Sie die Speicherdatei mit FileStream
FileStream stream = new FileStream("ExampleMbox.mbox", FileMode.Open, FileAccess.Read);

// Erstellen Sie eine Instanz der MboxrdStorageReader-Klasse und übergeben Sie den Stream
MboxrdStorageReader reader = new MboxrdStorageReader(stream, false);

// Beginnen Sie mit dem Lesen von Nachrichten
MailMessage message = reader.ReadNextMessage();

// Lesen Sie alle Nachrichten in einer Schleife
while (message != null)
{
    // Nachricht manipulieren - Inhalt anzeigen
    Console.WriteLine("Subject: " + message.Subject);
    
    // Speichern Sie diese Nachricht im EML- oder MSG-Format
    message.Save(message.Subject + ".eml", SaveOptions.DefaultEml);
    message.Save(message.Subject + ".msg", SaveOptions.DefaultMsgUnicode);

    // Erhalten Sie die nächste Nachricht
    message = reader.ReadNextMessage();
}

// Schließen Sie die Ströme
reader.Dispose();
stream.Close();

Holen Sie sich eine kostenlose API-Lizenz

Sie können Aspose.Email für .NET ohne Evaluierungseinschränkungen mit einer kostenlosen temporären Lizenz verwenden.

Fazit

Mit Thunderbird können Sie an einem einzigen Ort auf E-Mail-Nachrichten von mehreren Konten zugreifen. In diesem Artikel haben Sie gelernt, wie Sie in C# .NET Nachrichten in den Thunderbird-Speicher schreiben. Außerdem haben Sie gesehen, wie Sie Nachrichten aus dem Thunderbird-Speicher programmgesteuert lesen können. Abgesehen davon können Sie die Dokumentation besuchen, um andere Funktionen von Aspose.Email für .NET zu erkunden. Falls Sie Fragen haben, können Sie in unserem Forum posten.

Siehe auch