Lesen Sie Email-Nachrichten mit C++

Emails sind eine primäre Kommunikationsquelle über das Internet. Möglicherweise befinden Sie sich in Szenarien, in denen Sie möchten, dass Ihre Anwendungen EML und MSG Dateien lesen und deren Inhalt zu einer Datei hinzufügen oder eine andere Operation mit ihnen ausführen. Zu diesem Zweck wird Ihnen dieser Artikel beibringen, wie Sie Email-Nachrichten mit C++ lesen.

C++-API zum Lesen von Email-Nachrichten

Aspose.Email for C++ ist eine native C++ Bibliothek zum Erstellen, Bearbeiten und Senden von Emails, ohne dass Microsoft Outlook installiert sein muss. Die API unterstützt auch das Lesen von EML und MSG Email Dateien. Sie können die API entweder über NuGet installieren oder direkt aus dem Abschnitt Downloads herunterladen.

PM> Install-Package Aspose.Email.Cpp

Lesen Sie Email-Nachrichten mit C++

Im Folgenden sind die Schritte zum Lesen von Email-Nachrichten aufgeführt.

Im Folgenden finden Sie den Beispielcode zum Lesen von Email-Nachrichten mit C++.

// Erstellen Sie eine MailMessage-Instanz, indem Sie eine EML Datei laden
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());

// Holen Sie sich die Absenderinformationen
System::Console::WriteLine(u"From:");
System::Console::WriteLine(message->get_From());

// Holen Sie sich die Empfängerinformationen
System::Console::WriteLine(u"To:");
System::Console::WriteLine(message->get_To());

// Holen Sie sich das Thema
System::Console::WriteLine(u"Subject:");
System::Console::WriteLine(message->get_Subject());

// Holen Sie sich den HTML-Text
System::Console::WriteLine(u"HtmlBody:");
System::Console::WriteLine(message->get_HtmlBody());

// Holen Sie sich den Textkörper
System::Console::WriteLine(u"TextBody:");
System::Console::WriteLine(message->get_Body());
Vom Beispielcode generierte Ausgabe

Vom Beispielcode generierte Ausgabe

Extrahieren Sie Header-Informationen aus Email-Nachrichten

Im Folgenden sind die Schritte zum Extrahieren von Header-Informationen aus Email-Nachrichten aufgeführt.

Im Folgenden finden Sie den Beispielcode zum Extrahieren von Kopfzeileninformationen aus Email-Nachrichten mit C++.

// Erstellen Sie eine MailMessage-Instanz, indem Sie eine EML Datei laden
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());

// Drucken Sie alle Kopfzeilen aus
int32_t index = 0;

{
    auto header_enumerator = message->get_Headers()->GetEnumerator();
    decltype(header_enumerator->get_Current()) header;
    while (header_enumerator->MoveNext() && (header = header_enumerator->get_Current(), true))
    {
        System::Console::Write(header + u" - ");
        System::Console::WriteLine(message->get_Headers()->Get(index++));
    }
}

Kopfzeilenwerte von Email-Nachrichten decodieren

Im Folgenden sind die Schritte zum Decodieren von Header-Werten in Email-Nachrichten aufgeführt.

Im Folgenden finden Sie den Beispielcode zum Decodieren von Header-Werten in Email-Nachrichten mit C++.

// Erstellen Sie eine MailMessage-Instanz, indem Sie eine EML Datei laden
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());

// Holen Sie sich den decodierten Wert aus dem Header
System::String decodedValue = message->get_Headers()->GetDecodedValue(u"Thread-Topic");

// Drucken Sie den Wert
System::Console::WriteLine(decodedValue);

Holen Sie sich eine kostenlose Lizenz

Sie können die API ohne Evaluierungseinschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.

Live-Demo

Fazit

In diesem Artikel haben Sie gelernt, wie Sie Email-Nachrichten mit C++ lesen. Insbesondere haben Sie gelernt, den Inhalt und die Header-Informationen der Email zu lesen. Sie haben auch gesehen, wie Header-Werte mit Aspose.Email für die C++-API decodiert werden. Neben dem Lesen von Email-Nachrichten bietet die API viele weitere Funktionen für die Arbeit mit Emails. Sie können die API im Detail erkunden, indem Sie die offizielle Dokumentation besuchen. Wenn Sie Fragen haben, können Sie uns gerne in unserem kostenlosen Support-Forum erreichen.

Siehe auch