Funciones utilitarias - MailMessage

Cifrado y descifrado de mensajes

Aspose.Email ofrece la capacidad de cifrar y descifrar mensajes de correo electrónico. Este tema muestra cómo se puede cargar y cifrar un mensaje existente o nuevo usando MailMessage. El encrypt() y decrypt() Los métodos devuelven el objeto MailMessage con los efectos aplicados y es necesario tenerlo en cuenta al cifrar/descifrar mensajes. El cifrado y descifrado de mensajes implica los siguientes pasos:

  1. Crear un mensaje nuevo o cargar uno existente
  2. Cifrar el mensaje usando el archivo de certificado
  3. Enviar el mensaje o guardarlo
  4. Descifrar el mensaje según sea necesario

El siguiente fragmento de código muestra cómo cifrar y descifrar mensajes.

Comprobando si un mensaje está cifrado

Aspose.Email MailMessage class permite comprobar si un mensaje está cifrado o no. El isEncrypted propiedad de MailMessage permite verificar esto como se muestra en el siguiente ejemplo de código.

Cifrado de mensajes con X509Certificate

Aspose.Email proporciona la API para trabajar con mensajes cifrados con X509Certificate:

MailMessage class tiene los siguientes métodos para trabajar con el cifrado de mensajes:

Configurar opciones de locale para Aspose.Email

Puede usar LocaleOptions class en caso de locale predeterminado no reconocido y establece el locale más apropiado para la librería Aspose Email. Ofrece los siguientes métodos para realizar la tarea:

El siguiente ejemplo de código muestra cómo cargar un mensaje de correo desde un archivo usando la configuración de locale especificada:

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 garantiza que la aplicación y la biblioteca Aspose.Email usen los locales especificados para manejar convenciones de idioma, país y culturales.

Mensajes de correo que contienen adjuntos TNEF

Transport Neutral Encapsulation Format (TNEF) es un formato propietario de adjuntos de correo usado por Microsoft Outlook y Microsoft Exchange Server. La API de Aspose.Email permite leer mensajes de correo que tienen adjuntos TNEF y modificar su contenido. El correo puede guardarse entonces como un correo normal o en el mismo formato, preservando los adjuntos TNEF. Este artículo muestra diferentes ejemplos de código para trabajar con mensajes que contienen adjuntos TNEF.

Lectura de un mensaje preservando adjuntos TNEF

El siguiente fragmento de código muestra cómo leer un mensaje preservando los adjuntos TNEF.

Actualizando recursos en un adjunto TNEF y preservando el formato TNEF

El siguiente fragmento de código muestra cómo actualizar recursos en un adjunto TNEF y preservar el formato TNEF.

Añadiendo nuevos adjuntos al mensaje principal que contiene TNEF

Crear EML TNEF a partir de MSG

Los MSG de Outlook a veces contienen información como tablas y estilos de texto que pueden alterarse si se convierten a EML. Crear mensajes TNEF a partir de esos archivos MSG nos permite conservar el formato e incluso enviar dichos mensajes mediante clientes de correo manteniendo el formato. 

Para crear el TNEF, se puede usar el siguiente código de ejemplo.

Detectar si un mensaje es TNEF

Procesamiento de Mensajes Rebotados

Es muy común que un mensaje enviado a un destinatario pueda rebotar por cualquier razón, como una dirección de destinatario no válida. La API Aspose.Email tiene la capacidad de procesar dicho mensaje para verificar si es un correo electrónico rebotado o un mensaje de correo regular. El CheckBounced método del MailMessage class devuelve un resultado válido si el mensaje de correo es un correo rebotado.

Este artículo muestra el uso de BounceResult class que brinda la capacidad de verificar si un mensaje es un correo rebotado. Además, proporciona información detallada sobre los destinatarios, la acción tomada y la razón de la notificación.

Ignorar excepciones

La biblioteca ofrece un ExceptionManager clase para implementar la capacidad de ignorar excepciones en la funcionalidad de tu aplicación. El fragmento de código a continuación muestra cómo establecer una devolución de llamada para manejar excepciones:

 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");

   }

});

O use una alternativa:

 ExceptionManager.setIgnoreAll(true);

Además, puede establecer una devolución de llamada para el registro de excepciones ignoradas:

ExceptionManager.setIgnoreExceptionsLogHandler( new IgnoreExceptionsLogCallback() {

   public void invoke(String message) {

        System.out.println("=== EXCEPTION IGNORED === " + message);

   }

});

Se notificará al usuario que la excepción puede ser ignorada mediante un mensaje de error. Por ejemplo:

Excepción en el mensaje:

AsposeArgumentException: properties should not be empty.

Si deseas ignorar una excepción y continuar, puedes usar:

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

Invalid TNEF Attachment will be interpreted as regular attachment.

Analizador de Spam Bayesiano

Aspose.Email ofrece la funcionalidad de filtrado de correo electrónico mediante el analizador de spam Bayes. Proporciona el SpamAnalyzer clase para este propósito. Este artículo muestra cómo entrenar el filtro para distinguir entre el spam y los correos electrónicos regulares basándose en la base de datos de palabras.

Obteniendo el Preámbulo y el Epílogo de Mensajes EML

En el formato MIME, el preámbulo es el texto que aparece después de los encabezados y antes del primer límite multipart. El epílogo es el texto que aparece después del último límite y antes del final del mensaje. Este texto generalmente no es visible para los usuarios en los lectores de correo, pero algunas implementaciones MIME pueden usarlo para insertar notas para los destinatarios que leen el mensaje con programas no compatibles con MIME.

El siguiente fragmento de código muestra cómo obtener el preámbulo y el epílogo de un mensaje EML, lo cual se puede lograr con los métodos correspondientes del MailMessage clase:

// Gets or sets a preamble text.
public String getPreamble, setPreamble

// Gets or sets an epilogue text.
public String getEpilogue, setEpilogue