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
- Läs e-postmeddelanden med C++
- Extrahera rubrikinformation från e-postmeddelanden
- Avkoda e-postmeddelandens rubrikvärden
- Skaffa en gratis licens
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.
- Ladda e-postfilen med klassen MailMessage.
- Läs innehållet i e-postmeddelandet med hjälp av MailMessage->getFrom(), MailMessage->getTo(), MailMessage->getSubject(), MailMessage->getBody( ), etc. metoder.
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());
Extrahera rubrikinformation från e-postmeddelanden
Följande är stegen för att extrahera rubrikinformation från e-postmeddelanden.
- Ladda e-postfilen med klassen MailMessage.
- Hämta rubrikenumeratorn med metoden MailMessage->getHeaders()->GetEnumerator().
- Gå igenom rubrikerna och hämta rubriken med metoden MailMessage->getHeaders()->Get (int32t index).
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.
- Ladda e-postfilen med klassen MailMessage.
- Avkoda rubrikens värde med metoden MailMessage->getHeaders()->GetDecodedValue (System::String name).
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.