Gestión avanzada de mensajes de correo electrónico
Rastrear progreso de conversión de documentos
Aspose.Email ofrece la capacidad de rastrear el progreso de la conversión de documentos. Para ello, la API proporciona SaveOptions.CustomProgressHandler. que representa el método que maneja los eventos de progreso. Los tipos de eventos de progreso están representados por el ProgressEventType enumeración. El ProgressEventType la enumeración tiene los siguientes miembros.
- MimeStructureCreated: Este evento informa que la estructura MIME ha sido creada.
- MimePartSaved: Este evento indica que se ha finalizado el guardado de una parte MIME.
- SavedToStream: Este evento indica que todas las partes MIME se han guardado en el flujo.
El siguiente código de ejemplo demuestra el uso de SaveOptions.CustomProgressHandler y ProgressEventType enumeración que rastrea el progreso de conversión del documento.
A continuación se muestra el código de la clase personalizada usada en el ejemplo de código anterior.
Renderizar hipervínculos con estilos personalizados
Puede haber ocasiones en que necesites generar hipervínculos con un estilo específico según los requisitos de tu aplicación. Para eso, Aspose.Email ofrece HyperlinkRenderingCallback. Puede pasar el HyperlinkRenderingCallback como parámetro de MailMessage.GetHtmlBodyText.
El siguiente fragmento de código le muestra cómo usar HyperlinkRenderingCallback para generar hipervínculos usando su propio estilo personalizado.
Mostrar información en orden personalizado en archivos MHTML
Aspose.Email proporciona MhtSaveOptions.RenderingHeaders propiedad que devuelve la lista de encabezados para renderizar. Puede agregar los encabezados usando el MhtTemplateName clase. El orden en que se agregan los encabezados determina el orden en que se muestra la información.
La siguiente imagen compara los tres resultados generados por el código de ejemplo.

El siguiente fragmento de código demuestra el uso de MhtSaveOptions.RenderingHeaders propiedad para establecer el orden en que la información se muestra en los archivos MHTML de salida.
Mostrar asistentes opcionales en archivos MHT
Al trabajar con el formato MHT, puede mostrar u ocultar información sobre asistentes opcionales en la cabecera de los eventos del calendario. Para configurar MhtSaveOptions para el manejo de archivos MHT, necesita entender cómo el MhtFormatOptions.RenderCalendarEvent y MhtFormatOptions.WriteHeader los parámetros funcionan para personalizar la salida según sus necesidades, particularmente al gestionar la visualización de asistentes opcionales.
-
MhtFormatOptions.RenderCalendarEvent: Este parámetro controla si los detalles de los eventos del calendario se renderizan en el archivo MHT. Al establecer esta opción, se asegura de que la información completa del evento, incluidos los detalles de los asistentes, se incluya en la salida. Esto es esencial para proporcionar documentación completa de los eventos del calendario.
-
MhtFormatOptions.WriteHeader: Este parámetro determina si las cabeceras que contienen metadatos como asunto, fecha e información de participantes (incluidos los asistentes opcionales, cuando estén configurados) se escriben en el archivo MHT. Activar esta opción asegura que información contextualmente relevante acompañe su mensaje, mejorando la comprensión.
El ejemplo de código a continuación demuestra cómo usar la función mostrar asistentes opcionales al guardar un msg en formato mhtml:
MhtSaveOptions options = new MhtSaveOptions()
{
MhtFormatOptions = MhtFormatOptions.RenderCalendarEvent | MhtFormatOptions.WriteHeader
};
MailMessage eml = MailMessage.Load(fileName);
eml.Save(fileName + ".mhtml", options);
Si necesita excluir información sobre asistentes opcionales del archivo MHT, simplemente borre la plantilla de formato para OptionalAttendees antes de guardar:
//if you need to skip OptionalAttendees in mhtml file you can clear format template for OptionalAttendees
options.FormatTemplates[MhtTemplateName.OptionalAttendees] = "";
msg.Save(fileName + "2.mhtml", options);
Guardar todas las cabeceras en MHTML
El MhtSaveOptions.SaveAllHeaders propiedad del MhtSaveOptions clase define si es necesario guardar todas las cabeceras en el MHTML de salida o no. El siguiente fragmento de código muestra cómo guardar todas las cabeceras de un archivo MHTML:
var eml = MailMessage.Load("message.eml");
var sopt = SaveOptions.DefaultMhtml;
sopt.SaveAllHeaders = true;
eml.Save("message.mhtml", sopt);
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 clase devuelve un resultado válido si el mensaje de correo es un correo rebotado. Este artículo muestra el uso de la BounceResult clase que proporciona la capacidad de comprobar si un mensaje es un correo rebotado. Además ofrece información detallada sobre los destinatarios, la acción tomada y la razón de la notificación. El siguiente fragmento de código muestra cómo procesar mensajes rebotados.
Analizador de Spam Bayesiano
Aspose.Email ofrece filtrado de correo electrónico usando un analizador Bayesian de spam. Proporciona el SpamAnalyzer clase para este propósito. Este artículo muestra cómo entrenar el filtro para distinguir entre spam y correos electrónicos regulares basándose en la base de datos de palabras.
Obtener preámbulo y epílogo de mensajes EML
Un mensaje de correo electrónico puede contener información oculta como texto plano antes del cuerpo del mensaje (es decir, preámbulo) o después del cuerpo (es decir, epílogo). Normalmente es información adicional o contexto para el destinatario antes o después de leer el contenido principal del correo. Puede obtener esta información usando MailMessage.Preamble o/y MailMessage.Epilogue propiedades respectivamente.
El siguiente fragmento de código muestra cómo obtener los textos de preámbulo y epílogo:
// Gets or sets a preamble text.
public string Preamble
// Gets or sets an epilogue text.
public string Epilogue
Rastreo de correos electrónicos usando MDN y confirmaciones de lectura
La API Aspose.Email brinda soporte para el rastreo de correos electrónicos usando Message Disposition Notification (MDN). Esto se logra solicitando confirmaciones de lectura y creando la información requerida. La MailMessage.ReadReceiptTo propiedad obtiene o establece la dirección de confirmación de lectura. El CreateReadReceipt y ReadReceiptRequested los métodos se usan para crear y recuperar la información de si se solicitan confirmaciones de lectura. El siguiente fragmento de código muestra cómo rastrear correos electrónicos usando la API Aspose.Email.