Recursos Utilitários - MailMessage
Criptografando e Descriptografando Mensagens
Aspose.Email fornece a funcionalidade de criptografar e descriptografar mensagens de e‑mail. Este tópico mostra como uma mensagem existente ou nova pode ser carregada e criptografada usando MailMessage. O encrypt() e decrypt() métodos retornam o objeto MailMessage para os efeitos aplicados e precisam ser manipulados ao criptografar/descriptografar mensagens. Criptografar e descriptografar mensagens envolve as seguintes etapas:
- Criar uma nova mensagem ou carregar uma existente
- Criptografar a mensagem usando o arquivo de certificado
- Enviar a mensagem ou salvá‑la
- Descriptografar a mensagem conforme necessário
O trecho de código a seguir mostra como criptografar e descriptografar mensagens.
Verificando se uma Mensagem Está Criptografada
Aspose.Email MailMessage classe permite verificar se uma mensagem está criptografada ou não. O isEncrypted propriedade de MailMessage permite verificar isso como mostrado no exemplo de código a seguir.
Criptografia de Mensagens com X509Certificate
Aspose.Email fornece a API para trabalhar com Mensagens Criptografadas com X509Certificate:
MailMessage classe tem os seguintes métodos para trabalhar com criptografia de mensagens:
- public MailMessage attachSignature(X509Certificate2 certificate, boolean detached) - Cria uma mensagem assinada.
- public MailMessage attachSignature(X509Certificate2 certificate) - Cria uma mensagem assinada.
- public X509Certificate2[] checkSignatureCert() - Verifica a assinatura da MailMessage existente.
- public MailMessage decrypt(X509Certificate2 certificate)
- public MailMessage encrypt(X509Certificate2 certificate)
- public MailMessage encrypt(X509Certificate2[] certificates)
Configurar Opções de Localidade para Aspose.Email
Você pode usar LocaleOptions classe, no caso de localidade padrão não reconhecida, define a localidade mais apropriada para a biblioteca Aspose Email. Ela oferece os seguintes métodos para executar a tarefa:
- getLocale() - Retorna a Localidade padrão para Aspose.Email.
- setLocale(Locale locale) e setLocale(String localeName) - Define a localidade padrão relacionada ao Aspose.Email.
- clear() - Limpa a localidade padrão para Aspose.Email. Será usada a localidade padrão para Java.
O exemplo de código a seguir demonstra como carregar uma mensagem de e‑mail de um arquivo usando as configurações de localidade especificadas:
final Locale locale = new Locale("en", "DE");
Locale.setDefault(locale);
// set Locale for Aspose Email lib
LocaleOptions.setLocale("en-US");
// or
//LocaleOptions.setLocale(new Locale("en", "US"));
MailMessage.load("document.msg");
Este código garante que a aplicação e a biblioteca Aspose.Email usem as localidades especificadas para lidar com idioma, país e convenções culturais.
Mensagens de E‑mail contendo anexos TNEF
Transport Neutral Encapsulation Format (TNEF) é um formato proprietário de anexo de e‑mail usado pelo Microsoft Outlook e Microsoft Exchange Server. A API Aspose.Email permite ler mensagens de e‑mail que contêm anexos TNEF e modificar seu conteúdo. O e‑mail pode então ser salvo como um e‑mail normal ou no mesmo formato, preservando os anexos TNEF. Este artigo mostra diferentes exemplos de código para trabalhar com mensagens que contêm anexos TNEF.
Lendo uma Mensagem Preservando Anexos TNEF
O trecho de código a seguir mostra como ler uma mensagem preservando os anexos TNEF.
Atualizando Recursos em um Anexo TNEF e Preservando o Formato TNEF
O trecho de código a seguir 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 arquivos MSG do Outlook às vezes contêm informações como tabelas e estilos de texto que podem ser alterados se forem convertidos para EML. Criar mensagens TNEF a partir desses arquivos MSG permite reter a formatação e até mesmo enviar essas mensagens pelos clientes de e‑mail, mantendo a formatação.
Para criar o TNEF, o código de exemplo a seguir pode ser usado.
Detectar se uma Mensagem é TNEF
Processamento de 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 e‑mail devolvido ou uma mensagem de e‑mail normal. O Verificar Mensagens Rejeitadas método do MailMessage classe retorna um resultado válido se a mensagem de e‑mail for um e‑mail devolvido.
Este artigo mostra o uso de BounceResult classe que fornece a capacidade de verificar se uma mensagem é um e‑mail devolvido. Ela ainda fornece informações detalhadas sobre os destinatários, a ação tomada e o motivo da notificação.
Ignorar exceções
A biblioteca oferece um ExceptionManager classe para implementar a capacidade de ignorar exceções na funcionalidade da sua aplicação. O trecho de código abaixo demonstra como definir um retorno de chamada para tratar exceções:
ExceptionManager.setIgnoreExceptionsHandler( new IgnoreExceptionsCallback() {
//exception path: {Module}\{Method}\{Action}\{GUID}
//example: MailMessage\Load\DecodeTnefAttachment\64149867-679e-4645-9af0-d46566cae598
public boolean invoke(AsposeException ex, String path) {
//Ignore all exceptions on 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("=== EXCEPTION IGNORED === " + 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 continuar, pode usar:
ExceptionManager.getIgnoreList().add("MailMessage\\Load\\DecodeTnefAttachment\\64149867-679e-4645-9af0-d46566cae598")
Invalid TNEF Attachment will be interpreted as regular attachment.
Analisador de Spam Bayesiano
Aspose.Email oferece a funcionalidade de filtragem de e‑mail usando o analisador de spam Bayes. Ele fornece o SpamAnalyzer classe para esse propósito. Este artigo mostra como treinar o filtro para distinguir entre spam e e‑mails regulares com base no banco de palavras.
Obtenção de Preâmbulo e Epílogo de Mensagens EML
No formato MIME, o preâmbulo é o texto que aparece após os cabeçalhos e antes da primeira delimitação multipart. O epílogo é o texto que aparece após a última delimitação e antes do final da mensagem. Esse texto geralmente não é visível aos usuários nos leitores de e‑mail, mas algumas implementações MIME podem usá‑lo para inserir notas para destinatários que leem a mensagem usando programas não compatíveis com MIME.
O trecho de código a seguir mostra como obter o preâmbulo e o epílogo de uma mensagem EML, o que pode ser feito com os métodos correspondentes da MailMessage classe:
- setPreamble(String value) - Obtém ou define um texto de preâmbulo.
- setEpilogue(String value) - Obtém ou define um texto de epílogo.
// Gets or sets a preamble text.
public String getPreamble, setPreamble
// Gets or sets an epilogue text.
public String getEpilogue, setEpilogue