Czytaj wiadomości e-mail za pomocą C++

Wiadomości e-mail są głównym źródłem komunikacji w Internecie. Możesz znaleźć się w sytuacji, w której chcesz, aby Twoje aplikacje odczytywały pliki EML i MSG i dodawały ich zawartość do jakiegoś pliku lub wykonywały na nich inne operacje. W tym celu w tym artykule dowiesz się, jak czytać wiadomości e-mail za pomocą C++.

C++ API do czytania wiadomości e-mail

Aspose.Email for C++ to natywna biblioteka C++ do tworzenia, manipulowania i wysyłania wiadomości e-mail bez konieczności instalowania programu Microsoft Outlook. Interfejs API obsługuje również odczytywanie plików e-mail EML i MSG. Możesz zainstalować API przez NuGet lub pobrać bezpośrednio z sekcji Downloads.

PM> Install-Package Aspose.Email.Cpp

Czytaj wiadomości e-mail za pomocą C++

Poniżej przedstawiono kroki, aby przeczytać wiadomości e-mail.

Poniżej znajduje się przykładowy kod do odczytywania wiadomości e-mail przy użyciu języka C++.

// Utwórz instancję MailMessage, ładując plik EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());

// Uzyskaj informacje o nadawcy
System::Console::WriteLine(u"From:");
System::Console::WriteLine(message->get_From());

// Uzyskaj informacje o odbiorcach
System::Console::WriteLine(u"To:");
System::Console::WriteLine(message->get_To());

// Zdobądź temat
System::Console::WriteLine(u"Subject:");
System::Console::WriteLine(message->get_Subject());

// Pobierz treść HTML
System::Console::WriteLine(u"HtmlBody:");
System::Console::WriteLine(message->get_HtmlBody());

// Pobierz treść tekstu
System::Console::WriteLine(u"TextBody:");
System::Console::WriteLine(message->get_Body());
Dane wyjściowe wygenerowane przez przykładowy kod

Dane wyjściowe wygenerowane przez przykładowy kod

Wyodrębnij informacje nagłówka z wiadomości e-mail

Poniżej przedstawiono kroki, aby wyodrębnić informacje nagłówka z wiadomości e-mail.

Poniżej przedstawiono przykładowy kod służący do wyodrębniania informacji nagłówka z wiadomości e-mail przy użyciu języka C++.

// Utwórz instancję MailMessage, ładując plik EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());

// Wydrukuj wszystkie nagłówki
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++));
    }
}

Dekoduj wartości nagłówków wiadomości e-mail

Poniżej przedstawiono kroki dekodowania wartości nagłówków w wiadomościach e-mail.

Poniżej znajduje się przykładowy kod służący do dekodowania wartości nagłówków w wiadomościach e-mail przy użyciu języka C++.

// Utwórz instancję MailMessage, ładując plik EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());

// Pobierz zdekodowaną wartość z nagłówka
System::String decodedValue = message->get_Headers()->GetDecodedValue(u"Thread-Topic");

// Wydrukuj wartość
System::Console::WriteLine(decodedValue);

Uzyskaj bezpłatną licencję

Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.

Demo na żywo

Wniosek

W tym artykule nauczyłeś się czytać wiadomości e-mail przy użyciu języka C++. W szczególności nauczyłeś się czytać treść wiadomości e-mail i informacje w nagłówku. Widziałeś również, jak dekodować wartości nagłówków za pomocą Aspose.Email for C++ API. Oprócz czytania wiadomości e-mail interfejs API zapewnia znacznie więcej funkcji do pracy z wiadomościami e-mail. Możesz szczegółowo zapoznać się z interfejsem API, odwiedzając oficjalną dokumentację. Jeśli masz jakiekolwiek pytania, skontaktuj się z nami na naszym bezpłatnym forum pomocy technicznej.

Zobacz też