Ler mensagens de e-mail usando C++

Os e-mails são a principal fonte de comunicação pela Internet. Você pode se encontrar em cenários em que deseja que seus aplicativos leiam arquivos EML e MSG e adicionem seu conteúdo a algum arquivo ou executem alguma outra operação neles. Para isso, este artigo ensinará como ler mensagens de e-mail usando C++.

API C++ para ler mensagens de email

Aspose.Email for C++ é uma biblioteca nativa de C++ para criar, manipular e enviar e-mails sem exigir a instalação do Microsoft Outlook. A API também suporta a leitura de arquivos de email EML e MSG. Você pode instalar a API por meio do NuGet ou baixá-la diretamente da seção Downloads.

PM> Install-Package Aspose.Email.Cpp

Ler mensagens de e-mail usando C++

A seguir estão as etapas para ler mensagens de e-mail.

Veja a seguir o código de exemplo para ler mensagens de email usando C++.

// Crie uma instância MailMessage carregando um arquivo EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());

// Obter as informações do remetente
System::Console::WriteLine(u"From:");
System::Console::WriteLine(message->get_From());

// Obtenha as informações dos destinatários
System::Console::WriteLine(u"To:");
System::Console::WriteLine(message->get_To());

// Pegue o assunto
System::Console::WriteLine(u"Subject:");
System::Console::WriteLine(message->get_Subject());

// Obter o corpo HTML
System::Console::WriteLine(u"HtmlBody:");
System::Console::WriteLine(message->get_HtmlBody());

// Obter o corpo do texto
System::Console::WriteLine(u"TextBody:");
System::Console::WriteLine(message->get_Body());
Saída gerada pelo código de amostra

Saída gerada pelo código de amostra

Extrair informações de cabeçalho de mensagens de e-mail

A seguir estão as etapas para extrair informações de cabeçalho de mensagens de email.

Veja a seguir o código de exemplo para extrair informações de cabeçalho de mensagens de email usando C++.

// Crie uma instância MailMessage carregando um arquivo EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());

// Imprima todos os cabeçalhos
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++));
    }
}

Decodificar valores de cabeçalho de mensagem de e-mail

A seguir estão as etapas para decodificar valores de cabeçalho em mensagens de email.

Veja a seguir o código de exemplo para decodificar valores de cabeçalho em mensagens de email usando C++.

// Crie uma instância MailMessage carregando um arquivo EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());

// Obter valor decodificado do cabeçalho
System::String decodedValue = message->get_Headers()->GetDecodedValue(u"Thread-Topic");

// Imprima o valor
System::Console::WriteLine(decodedValue);

Obtenha uma licença gratuita

Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.

Demonstração ao vivo

Conclusão

Neste artigo, você aprendeu a ler mensagens de email usando C++. Especificamente, você aprendeu a ler o conteúdo do e-mail e as informações do cabeçalho. Você também viu como decodificar valores de cabeçalho usando Aspose.Email for C++ API. Além de ler mensagens de e-mail, a API oferece muito mais recursos para trabalhar com e-mails. Você pode explorar a API em detalhes visitando a documentação oficial. Se você tiver alguma dúvida, sinta-se à vontade para entrar em contato conosco em nosso fórum de suporte gratuito.

Veja também