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:
- Crie uma instância da classe MailMessage.
- Carregue uma mensagem de e-mail na instância da classe MailMessage.
- 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.
- 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); |