Saltar al contenido

incrustar imagen en correo html

Este enunciado fue analizado por expertos para asegurar la veracidad de nuestra esta crónica.

Intente insertarlo directamente, de esta manera puede insertar varias imágenes en varias ubicaciones en el correo electrónico.


Y para que esta publicación sea útil para que otros: Si no tiene datos base64 string, cree uno fácilmente en: http://www.motobit.com/util/base64-decoder-encoder.asp desde un archivo de imagen.

El código fuente del correo electrónico se parece a esto, pero realmente no puedo decirte para qué sirve ese límite:

 To: [email protected]
Subject: ... Content-Type: multipart/related; boundary="------------090303020209010600070908" This is a multi-part message in MIME format. --------------090303020209010600070908 Content-Type: text/html; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit --------------090303020209010600070908 Content-Type: image/png; name="moz-screenshot.png" Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: inline; filename="moz-screenshot.png" [base64 image data here] --------------090303020209010600070908--

//EDITAR: Ah, me doy cuenta de que si insertas el primer fragmento de código de mi publicación para escribir un correo electrónico con Thunderbird, Thunderbird cambia automáticamente el código html para que luzca más o menos igual que el segundo código de mi publicación.

La otra solución es adjuntar la imagen como archivo adjunto y luego hacer referencia al código html usando cid.

Código HTML:


    
    
    
        
    

Código C#:

EmailMessage email = new EmailMessage(service);
email.Subject = "Email with Image";
email.Body = new MessageBody(BodyType.HTML, html);
email.ToRecipients.Add("[email protected]");
string file = @"C:UsersacvPicturesLogo.jpg";
email.Attachments.AddFileAttachment("Logo.jpg", file);
email.Attachments[0].IsInline = true;
email.Attachments[0].ContentId = "Logo.jpg";
email.SendAndSaveCopy();

No encuentro útil ninguna de las respuestas aquí, así que estoy proporcionando mi solución.

  1. El problema es que estás usando multipart/related como el tipo de contenido que no es bueno en este caso. estoy usando multipart/mixed y dentro de ella multipart/alternative (funciona en la mayoría de los clientes).

  2. La estructura del mensaje debe ser la siguiente:

    [Headers]
    Content-type:multipart/mixed; boundary="boundary1"
    --boundary1
    Content-type:multipart/alternative; boundary="boundary2"
    --boundary2
    Content-Type: text/html; charset=ISO-8859-15
    Content-Transfer-Encoding: 7bit
    [HTML code with a href="cid:..."]
    
    --boundary2
    Content-Type: image/png;
    name="moz-screenshot.png"
    Content-Transfer-Encoding: base64
    Content-ID: 
    Content-Disposition: inline; filename="moz-screenshot.png"
    [base64 image data here]
    
    --boundary2--
    --boundary1--
    

Entonces funcionará

Si para ti ha resultado de utilidad nuestro post, sería de mucha ayuda si lo compartes con otros desarrolladores de este modo nos ayudas a difundir nuestro contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *