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.
- .NET-API zum Schreiben und Lesen von Nachrichten in Thunderbird
- Schreiben Sie Nachrichten auf Thunderbird Storage
- Lesen Sie Nachrichten aus dem Thunderbird-Speicher
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.
- Laden Sie zuerst die MBOX-Datei in ein FileStream-Objekt.
- Erstellen Sie dann eine Instanz von MboxrdStorageWriter und initialisieren Sie sie mit dem Stream.
- Erstellen Sie danach eine neue MailMessage und legen Sie ihre Eigenschaften fest.
- Nachricht mit der Methode MboxrdStorageWriter.WriteMessage(MailMessage) in den Speicher schreiben.
- Entsorgen Sie schließlich den Writer und schließen Sie den Stream.
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.