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.
-
El problema es que estás usando
multipart/related
como el tipo de contenido que no es bueno en este caso. estoy usandomultipart/mixed
y dentro de ellamultipart/alternative
(funciona en la mayoría de los clientes). -
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.