Läs e-postmeddelanden med C++

E-post är en primär källa för kommunikation över internet. Du kan hamna i scenarier där du vill att dina program ska läsa EML- och MSG-filer och lägga till deras innehåll i någon fil eller utföra någon annan operation på dem. För detta ändamål kommer den här artikeln att lära dig hur du läser e-postmeddelanden med C++.

C++ API för att läsa e-postmeddelanden

Aspose.Email for C++ är ett inbyggt C++-bibliotek för att skapa, manipulera och skicka e-postmeddelanden utan att Microsoft Outlook behöver installeras. API:et stöder även läsning av EML- och MSG-e-postfiler. Du kan antingen installera API:t genom NuGet eller ladda ner det direkt från avsnittet Nedladdningar.

PM> Install-Package Aspose.Email.Cpp

Läs e-postmeddelanden med C++

Följande är stegen för att läsa e-postmeddelanden.

Följande är exempelkoden för att läsa e-postmeddelanden med C++.

// Skapa MailMessage-instans genom att ladda en EML-fil
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());

// Få avsändarinformation
System::Console::WriteLine(u"From:");
System::Console::WriteLine(message->get_From());

// Få information om mottagarna
System::Console::WriteLine(u"To:");
System::Console::WriteLine(message->get_To());

// Skaffa ämnet
System::Console::WriteLine(u"Subject:");
System::Console::WriteLine(message->get_Subject());

// Hämta HTML-kroppen
System::Console::WriteLine(u"HtmlBody:");
System::Console::WriteLine(message->get_HtmlBody());

// Hämta textens brödtext
System::Console::WriteLine(u"TextBody:");
System::Console::WriteLine(message->get_Body());
Utdata genererad av exempelkoden

Utdata genererad av exempelkoden

Extrahera rubrikinformation från e-postmeddelanden

Följande är stegen för att extrahera rubrikinformation från e-postmeddelanden.

Följande är exempelkoden för att extrahera rubrikinformation från e-postmeddelanden med C++.

// Skapa MailMessage-instans genom att ladda en EML-fil
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());

// Skriv ut alla rubriker
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++));
    }
}

Avkoda e-postmeddelandens rubrikvärden

Följande är stegen för att avkoda rubrikvärden i e-postmeddelanden.

Följande är exempelkoden för att avkoda rubrikvärden i e-postmeddelanden med C++.

// Skapa MailMessage-instans genom att ladda en EML-fil
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());

// Få avkodat värde från rubriken
System::String decodedValue = message->get_Headers()->GetDecodedValue(u"Thread-Topic");

// Skriv ut värdet
System::Console::WriteLine(decodedValue);

Skaffa en gratis licens

Du kan prova API:et utan utvärderingsbegränsningar genom att begära en gratis tillfällig licens.

Live-demo

Slutsats

I den här artikeln har du lärt dig hur du läser e-postmeddelanden med C++. Specifikt har du lärt dig hur du läser e-postmeddelandets innehåll och rubrikinformation. Du har också sett hur man avkodar rubrikvärden med Aspose.Email för C++ API. Förutom att läsa e-postmeddelanden ger API:et många fler funktioner för att arbeta med e-post. Du kan utforska API:et i detalj genom att besöka den officiella dokumentationen. Om du har några frågor är du välkommen att kontakta oss på vårt gratis supportforum.

Se även