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.
- Crie uma instância do MailMessage.
- Carregue uma mensagem de email na instância do MailMessage.
- 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:
- MailMessage.getDate() - retorna a data em UTC
- MailMessage.getLocalDate() - retorna a data no fuso horário local
- 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:
- Crie uma instância da classe MailMessage.
- Carregue uma mensagem de email na instância da classe MailMessage.
- 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.
- 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.