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
- Ler mensagens de e-mail usando C++
- Extrair informações de cabeçalho de mensagens de e-mail
- Decodificar valores de cabeçalho de mensagem de e-mail
- Obtenha uma licença gratuita
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.
- Carregue o arquivo de e-mail usando a classe MailMessage.
- Leia o conteúdo do e-mail usando MailMessage->getFrom(), MailMessage->getTo(), MailMessage->getSubject(), MailMessage->getBody( ), etc. métodos.
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());
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.
- Carregue o arquivo de e-mail usando a classe MailMessage.
- Obtenha o enumerador de cabeçalho usando o método MailMessage->getHeaders()->GetEnumerator().
- Percorra os cabeçalhos e recupere o cabeçalho usando o método MailMessage->getHeaders()->Get (int32t index).
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.
- Carregue o arquivo de e-mail usando a classe MailMessage.
- Decodifique o valor do cabeçalho usando o método MailMessage->getHeaders()->GetDecodedValue (System::String name).
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.