Extraindo Conteúdos de Mensagens de E-mails em C++

Exibindo Informações de E-mail na Tela

O MailMessage representa uma mensagem de e-mail e permite que os desenvolvedores acessem as propriedades da mensagem de e-mail. As informações de cabeçalho (discutidas em Extraindo Cabeçalhos de E-mail) podem ser extraídas e manipuladas de diferentes maneiras. Este artigo explica como exibir informações de cabeçalho de e-mail selecionadas e o corpo do e-mail na tela. Para Exibir Informações de E-mail na tela, siga estes passos:

  • Crie uma instância da classe MailMessage.
  • Carregue uma mensagem de e-mail na instância MailMessage.
  • Exiba o conteúdo do e-mail na tela.

O seguinte trecho de código C++ mostra como exibir informações de e-mail na tela.

For complete examples and data files, please go to https://github.com/kashifiqb/Aspose.Email-for-C
// The path to the File directory.
System::String dataDir = RunExamples::GetDataDir_Email();
// Create MailMessage instance by loading an Eml file
System::SharedPtr<MailMessage> message = MailMessage::Load(dataDir + L"test.eml", System::MakeObject<EmlLoadOptions>());
// Gets the sender info, recipient info, Subject, htmlbody and textbody
System::Console::Write(L"From:");
System::Console::WriteLine(message->get_From());
System::Console::Write(L"To:");
System::Console::WriteLine(message->get_To());
System::Console::Write(L"Subject:");
System::Console::WriteLine(message->get_Subject());
System::Console::WriteLine(L"HtmlBody:");
System::Console::WriteLine(message->get_HtmlBody());
System::Console::WriteLine(L"TextBody");
System::Console::WriteLine(message->get_Body());

Extraindo Cabeçalhos de E-mail

O cabeçalho do e-mail representa um conjunto padrão de campos de cabeçalho definidos pela Internet e pelos RFC incluídos em mensagens de e-mail na Internet. Um cabeçalho de e-mail pode ser especificado usando a classe MailMessage. Tipos de cabeçalho comuns são definidos na classe HeaderType. É uma classe selada que funciona como uma enumeração normal. Para extrair cabeçalhos de um e-mail, siga estes passos:

  1. Crie uma instância da classe MailMessage.
  2. Carregue uma mensagem de e-mail na instância da classe MailMessage.
  3. Após uma mensagem de e-mail ser carregada, obteremos seu conteúdo bruto.

A classe MailMessage contém propriedades como De, Para, Cc, Assunto e assim por diante. Essas propriedades podem ser extraídas dos cabeçalhos.

  1. Exiba o conteúdo bruto.

O seguinte trecho de código C++ mostra como extrair cabeçalhos de e-mail.

For complete examples and data files, please go to https://github.com/kashifiqb/Aspose.Email-for-C
System::SharedPtr<MailMessage> message;
// Create MailMessage instance by loading an EML file
message = MailMessage::Load(dataDir + L"email-headers.eml", System::MakeObject<EmlLoadOptions>());
System::Console::WriteLine(L"\n\nheaders:\n\n");
// Print out all the headers
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 + L" - ");
System::Console::WriteLine(message->get_Headers()->Get(index++));
}
}

Obter Valores de Cabeçalho Decodificados

O seguinte trecho de código mostra como obter valores de cabeçalho decodificados.

For complete examples and data files, please go to https://github.com/kashifiqb/Aspose.Email-for-C
System::SharedPtr<MailMessage> mailMessage = MailMessage::Load(dataDir + L"emlWithHeaders.eml");
System::String decodedValue = mailMessage->get_Headers()->GetDecodedValue(L"Thread-Topic");
System::Console::WriteLine(decodedValue);