Extraindo Conteúdo de Mensagens de Emails

Exibindo Informações de Email na Tela

O MailMessage representa uma mensagem de email e permite que os desenvolvedores acessem as propriedades da mensagem de email. As informações do cabeçalho (discutidas em Extraindo Cabeçalhos de Email) podem ser extraídas e manipuladas de diferentes maneiras. Este artigo explica como exibir informações do cabeçalho de email selecionadas e o corpo do email na tela.

  1. Crie uma instância do MailMessage.
  2. Carregue uma mensagem de email na instância do MailMessage.
  3. Exiba o conteúdo do email na tela.

O código abaixo demonstra como carregar uma mensagem de email e exibir seu conteúdo - de, para, assunto e corpo do email - na tela.

Obtendo Data e Hora da Mensagem

A classe MailMessage pode ser usada para recuperar a data da mensagem em UTC ou no fuso horário local. Essa informação pode ser resumida da seguinte forma:

  1. MailMessage.getDate() - retorna a data em UTC
  2. MailMessage.getLocalDate() - retorna a data no fuso horário local
  3. MailMessage.isLocalDate Retorna true se MailMessage.getDate() estiver no fuso horário local

Extraindo Cabeçalhos de Email

O cabeçalho de email representa um conjunto padrão de campos de cabeçalho definidos pelo Internet e RFC incluídos nas mensagens de email da Internet. Um cabeçalho de email 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 email, siga estas etapas:

  1. Crie uma instância da classe MailMessage.
  2. Carregue uma mensagem de email na instância da classe MailMessage.
  3. Após uma mensagem de email ter sido carregada, obteremos seu conteúdo bruto. A própria classe MailMessage contém propriedades como De, Para, Cc, Assunto e assim por diante. Essas propriedades podem ser extraídas dos cabeçalhos.
  4. Exiba o conteúdo bruto.

Obter Valores de Cabeçalho Decodificados

Obter e Modificar o Cabeçalho de Disposição de Recurso Vinculado

O recurso vinculado pode ser acessado e manipulado programaticamente no objeto da mensagem de email. O método getContentDisposition() da classe LinkedResource obtém o cabeçalho Content-Disposition. O exemplo de código abaixo demonstra como acessar e modificar o nome do arquivo do recurso vinculado:

MailMessage eml = MailMessage.load(fileName);
eml.getLinkedResources().get_Item(0).getContentDisposition().setFileName("changed.png");

Obter o corpo HTML como texto puro

A classe MailMessage oferece o recurso de extrair o corpo HTML da mensagem como texto puro. A classe MailMessage fornece um método GetHtmlBodyText que retorna o corpo HTML como texto puro. O método GetHtmlBodyText aceita um parâmetro booleano que indica se o corpo deve conter URLs ou não. Passar o parâmetro como verdadeiro indica que o corpo HTML deve conter URLs.

O seguinte trecho de código demonstra o uso do método GetHtmlBodyText para extrair o corpo HTML do email como texto puro.