Trabajar con adjuntos y objetos incrustados

Trabajando con adjuntos

Adjuntos de correo electrónico son archivos enviados junto con un mensaje de correo. Estos archivos pueden incluir documentos, imágenes, archivos comprimidos y más.

En Aspose.Email para C++, los adjuntos se gestionan a través del Attachment clase, que trabaja junto con el MailMessage clase. Puede agregar, eliminar, extraer o mostrar adjuntos programáticamente.

Nota: El tamaño máximo de los adjuntos depende del servidor de correo (por ejemplo, Gmail limita los adjuntos a 10 MB).

Agregar adjuntos a un correo

Para adjuntar uno o más archivos a un mensaje de correo, siga los pasos a continuación:

  1. Cree una instancia de la MailMessage clase.
  2. Create Attachment objetos para cada archivo.
  3. Agregue los adjuntos al mensaje usando AddAttachment().
  4. Guarde el mensaje si es necesario.

Ejemplo de código

Eliminando adjuntos de un correo

Puede eliminar fácilmente los adjuntos de un mensaje usando el Remove() método del Adjuntos colección.

El siguiente fragmento de código muestra cómo eliminar un adjunto:

  1. Cargue o cree un MailMessage instancia.
  2. Agregue uno o más adjuntos.
  3. Elimine el adjunto deseado.
  4. Opcionalmente, muestre los adjuntos restantes.

Mostrando nombres de archivo de los adjuntos

Puede iterar sobre todos los adjuntos y mostrar sus nombres en la consola:

Extrayendo adjuntos de un correo

Para extraer y guardar los adjuntos de un archivo de correo existente, siga los pasos a continuación:

  1. Cargue el mensaje usando el MailMessage clase.
  2. Iterar a través del Adjuntos colección.
  3. Guarde cada adjunto en disco y, opcionalmente, muestre su nombre.

El siguiente fragmento de código muestra cómo extraer los adjuntos de correo electrónico:

|Adjuntos extraídos en el correo| | :- | |todo:image_alt_text|

Leyendo la descripción de contenido del adjunto

Aspose.Email le permite leer la cabecera Content-Description de un adjunto para obtener metadatos adicionales.

Ejemplo de código

Trabajando con objetos incrustados

Un objeto incrustado es un archivo creado en una aplicación y contenido dentro de otro documento o correo electrónico. Por ejemplo, una hoja de cálculo de Microsoft Excel puede incrustarse en un documento de Word, o una imagen puede incrustarse directamente en el cuerpo de un correo.

Cuando un objeto está incrustado (no solo adjunto o vinculado), conserva su formato original y puede abrirse o editarse en su aplicación nativa.

Incrustar objetos en un correo electrónico

Para incrustar una imagen u otro objeto en un mensaje de correo, use el LinkedResource clase junto con el MailMessage y AlternateView clases. Esto le permite incluir imágenes en línea o contenido multimedia que aparece directamente en el cuerpo del mensaje.

El siguiente ejemplo de código muestra cómo crear un mensaje de correo con contenido tanto en texto plano como en HTML que incluye una imagen incrustada:

  1. Cree una instancia de la MailMessage clase.
  2. Establezca los campos de remitente, destinatario y asunto.
  3. Cree un cuerpo de texto plano usando AlternateView.
  4. Cree un cuerpo HTML que contenga una referencia al objeto incrustado usando el cid (Content-ID).
  5. Cree una instancia de la LinkedResource clase y cargue el objeto.
  6. Asigne un Content-ID al recurso vinculado.
  7. Agregue el recurso vinculado y las vistas alternativas al mensaje.
  8. Guarde o envíe el mensaje de correo.

Nota: > Puede incrustar varios objetos, pero el tamaño máximo del mensaje está limitado por su servidor de correo. Por ejemplo, Gmail restringe el tamaño del mensaje a 10 MB.

Extrayendo objetos incrustados de un correo

También puede extraer objetos incrustados, como imágenes o archivos, de un mensaje de correo existente. El proceso es similar a extraer adjuntos:

  1. Cree una instancia de la MailMessage clase.
  2. Cargue el archivo de correo en el MailMessage instancia.
  3. Itere a través de la colección de adjuntos.
  4. Guarde cada objeto incrustado en disco.
  5. Opcionalmente, muestre los nombres de archivo en la consola.

|Objetos incrustados extraídos en el correo| | :- | |todo:image_alt_text|