Čtení e-mailových zpráv pomocí C++

E-maily jsou primárním zdrojem komunikace přes internet. Můžete se ocitnout ve scénářích, kdy chcete, aby vaše aplikace četly soubory EML a MSG a přidaly jejich obsah do nějakého souboru nebo s nimi provedly nějakou jinou operaci. Za tímto účelem vás tento článek naučí číst e-mailové zprávy pomocí C++.

C++ API pro čtení e-mailových zpráv

Aspose.Email for C++ je nativní knihovna C++ pro vytváření, manipulaci a odesílání e-mailů bez nutnosti instalace Microsoft Outlook. API také podporuje čtení e-mailových souborů EML a MSG. Rozhraní API můžete nainstalovat buď prostřednictvím NuGet, nebo si jej stáhnout přímo ze sekce Downloads.

PM> Install-Package Aspose.Email.Cpp

Čtení e-mailových zpráv pomocí C++

Následují kroky ke čtení e-mailových zpráv.

Následuje ukázkový kód pro čtení e-mailových zpráv pomocí C++.

// Vytvořte instanci MailMessage načtením souboru EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());

// Získejte informace o odesílateli
System::Console::WriteLine(u"From:");
System::Console::WriteLine(message->get_From());

// Získejte informace o příjemcích
System::Console::WriteLine(u"To:");
System::Console::WriteLine(message->get_To());

// Získejte předmět
System::Console::WriteLine(u"Subject:");
System::Console::WriteLine(message->get_Subject());

// Získejte tělo HTML
System::Console::WriteLine(u"HtmlBody:");
System::Console::WriteLine(message->get_HtmlBody());

// Získejte tělo textu
System::Console::WriteLine(u"TextBody:");
System::Console::WriteLine(message->get_Body());
Výstup generovaný ukázkovým kódem

Výstup generovaný ukázkovým kódem

Extrahujte informace o záhlaví z e-mailových zpráv

Následují kroky k extrahování informací záhlaví z e-mailových zpráv.

Následuje ukázkový kód pro extrahování informací záhlaví z e-mailových zpráv pomocí C++.

// Vytvořte instanci MailMessage načtením souboru EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());

// Vytiskněte všechna záhlaví
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++));
    }
}

Dekódování hodnot záhlaví e-mailových zpráv

Následují kroky k dekódování hodnot záhlaví v e-mailových zprávách.

Následuje ukázkový kód pro dekódování hodnot záhlaví v e-mailových zprávách pomocí C++.

// Vytvořte instanci MailMessage načtením souboru EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());

// Získejte dekódovanou hodnotu z hlavičky
System::String decodedValue = message->get_Headers()->GetDecodedValue(u"Thread-Topic");

// Vytiskněte hodnotu
System::Console::WriteLine(decodedValue);

Získejte bezplatnou licenci

Rozhraní API můžete vyzkoušet bez omezení hodnocení tím, že požádáte o bezplatnou dočasnou licenci.

Živá ukázka

Závěr

V tomto článku jste se naučili číst e-mailové zprávy pomocí C++. Konkrétně jste se naučili číst obsah e-mailu a informace v záhlaví. Také jste viděli, jak dekódovat hodnoty záhlaví pomocí Aspose.Email for C++ API. Kromě čtení e-mailových zpráv poskytuje API mnohem více funkcí pro práci s e-maily. Rozhraní API můžete podrobně prozkoumat na oficiální dokumentaci. Pokud máte nějaké dotazy, neváhejte nás kontaktovat na našem bezplatném fóru podpory.

Viz také