Recursos de Utilidade - MailMessage

Criptografando e Descriptografando Mensagens

Aspose.Email fornece a capacidade de criptografar e descriptografar mensagens de Email. Este tópico mostra como uma mensagem existente ou nova pode ser carregada e criptografada usando MailMessage. Os métodos encrypt() e decrypt() retornam o objeto MailMessage para os efeitos aplicados e precisam ser considerados ao criptografar/descriptografar mensagens. Criptografar e descriptografar mensagens envolve os seguintes passos:

  1. Criar uma nova mensagem ou carregar uma existente
  2. Criptografar a mensagem usando o arquivo de certificado
  3. Enviar a mensagem ou salvá-la
  4. Descriptografar a mensagem conforme necessário

O seguinte trecho de código mostra como criptografar e descriptografar mensagens.

Verificando uma Mensagem para Criptografia

A classe Aspose.Email MailMessage permite verificar se uma mensagem está criptografada ou não. A propriedade isEncrypted do MailMessage permite essa verificação, como mostrado no seguinte exemplo de código.

Criptografia de Mensagens com X509Certificate

Aspose.Email fornece a API para trabalhar com Mensagens Criptografadas com X509Certificate:

A classe MailMessage possui os seguintes métodos para trabalhar com criptografia de mensagens:

Configurar Opções de Locale para Aspose.Email

Você pode usar a classe LocaleOptions em caso de locale padrão não reconhecido e definir o locale mais apropriado para a biblioteca Aspose Email. Ela oferece os seguintes métodos para realizar a tarefa:

O seguinte exemplo de código demonstra como carregar uma mensagem de email de um arquivo usando as configurações de locale especificadas:

final Locale locale = new Locale("en", "DE");
Locale.setDefault(locale);

// definir Locale para a biblioteca Aspose Email
LocaleOptions.setLocale("en-US");
// ou
//LocaleOptions.setLocale(new Locale("en", "US"));

MailMessage.load("document.msg");

Este código garante que a aplicação e a biblioteca Aspose.Email usem os locales especificados para lidar com a linguagem, país e convenções culturais.

MailMessages Contendo anexos TNEF

O Formato de Encapsulamento Neutro de Transporte (TNEF) é um formato de anexo de email proprietário usado pelo Microsoft Outlook e pelo Microsoft Exchange Server. A API Aspose.Email permite que você leia mensagens de email que têm anexos TNEF e modifique seus conteúdos. O email pode ser salvo como um email normal ou no mesmo formato, preservando os anexos TNEF. Este artigo mostra diferentes exemplos de código para trabalhar com mensagens contendo anexos TNEF.

Lendo uma Mensagem Preservando Anexos TNEF

O seguinte trecho de código mostra como ler uma mensagem preservando os anexos TNEF.

Atualizando Recursos em um Anexo TNEF e Preservando o Formato TNEF

O seguinte trecho de código mostra como atualizar recursos em um anexo TNEF e preservar o formato TNEF.

Adicionando Novos Anexos à Mensagem Principal Contendo TNEF

Criando TNEF EML a partir de MSG

Os MSGs do Outlook às vezes contêm informações como tabelas e estilos de texto que podem ser perturbados se forem convertidos para EML. Criar mensagens TNEF a partir de tais arquivos MSG nos permite reter a formatação e até enviar tais mensagens através dos clientes de email mantendo a formatação.

Para criar o TNEF, o seguinte código de exemplo pode ser usado.

Detectar se uma Mensagem é TNEF

Processando Mensagens Devolvidas

É muito comum que uma mensagem enviada a um destinatário possa ser devolvida por qualquer motivo, como um endereço de destinatário inválido. A API Aspose.Email tem a capacidade de processar tal mensagem para verificar se é um email devolvido ou uma mensagem de email normal. O método CheckBounced da classe MailMessage retorna um resultado válido se a mensagem de email for um email devolvido.

Este artigo mostra o uso da classe BounceResult que fornece a capacidade de verificar se uma mensagem é um email devolvido. Ela ainda fornece informações detalhadas sobre os destinatários, a ação tomada e a razão da notificação.

Ignorar exceções

A biblioteca oferece uma classe ExceptionManager para implementar a capacidade de ignorar exceções na funcionalidade da sua aplicação. O trecho de código abaixo demonstra como definir um callback para tratar exceções:

 ExceptionManager.setIgnoreExceptionsHandler( new IgnoreExceptionsCallback() {

   //caminho da exceção: {Módulo}\{Método}\{Ação}\{GUID}

   //exemplo: MailMessage\Load\DecodeTnefAttachment\64149867-679e-4645-9af0-d46566cae598

   public boolean invoke(AsposeException ex, String path) {

       //Ignorar todas as exceções em MailMessage.Load

       return path.equals("MailMessage\\Load");

   }

});

Ou use uma alternativa:

 ExceptionManager.setIgnoreAll(true);

Além disso, você pode definir um callback para o log de exceções ignoradas:

ExceptionManager.setIgnoreExceptionsLogHandler( new IgnoreExceptionsLogCallback() {

   public void invoke(String message) {

        System.out.println("=== EXCEÇÃO IGNORADA === " + message);

   }

});

O usuário será notificado de que a exceção pode ser ignorada por uma mensagem de erro. Por exemplo:

Exceção na mensagem:

AsposeArgumentException: properties should not be empty.

Se você deseja ignorar uma exceção e prosseguir, pode usar:

ExceptionManager.getIgnoreList().add("MailMessage\\Load\\DecodeTnefAttachment\\64149867-679e-4645-9af0-d46566cae598")

Anexo TNEF inválido será interpretado como anexo regular.

Analisador de Spam Bayesiano

Aspose.Email fornece a capacidade de filtragem de e-mails usando o analisador de spam Bayesiano. Ele fornece a classe SpamAnalyzer para esse propósito. Este artigo mostra como treinar o filtro para distinguir entre spam e emails regulares com base no banco de palavras.

Obtendo Preamble e Epilogue de Mensagens EML

No formato MIME, o preamble é o texto que aparece após os cabeçalhos e antes da primeira fronteira multipart. O epilogue é o texto que aparece após a última fronteira e antes do final da mensagem. Este texto geralmente não é visível para os usuários em leitores de email, mas algumas implementações MIME podem usá-lo para inserir notas para destinatários que leem a mensagem usando programas que não estão em conformidade com MIME.

O seguinte trecho de código mostra como obter o preamble e o epilogue de uma mensagem EML, o que pode ser alcançado com os métodos correspondentes da classe MailMessage:

// Obtém ou define um texto preamble.
public String getPreamble, setPreamble

// Obtém ou define um texto epilogue.
public String getEpilogue, setEpilogue