Estoy creando un mensaje System.Net.Mail con un cuerpo html. Adjunto una imagen JPEG (de un byte aray) de la firma del cliente al correo electrónico y la envío a un centro de servicio. El centro de servicio quería ver la firma sin tener que abrir el archivo adjunto, así que cambié el html y agregué la imagen nuevamente como LinkedResource. El problema es que ahora el archivo adjunto es más grande que antes e intenta ver el archivo adjunto muestra un error. Si guardo el archivo adjunto y abro el archivo en un editor hexadecimal, el archivo completo está vacío. Puedo comentar el código que agrega el recurso vinculado y el archivo adjunto funciona nuevamente. ¿Cómo puedo incluir la imagen en línea y el archivo adjunto?Cómo puedo mostrar una imagen y agregarla como archivo adjunto a un correo electrónico
Esta es la etiqueta lo integrar a la imagen en: <p><img src=cid:CustomerSignature /></p>
Este es mi código:
System.IO.MemoryStream ms = new System.IO.MemoryStream(insuranceClaim.Signature, 0, insuranceClaim.Signature.Length);
ms.Position = 0;
System.Net.Mime.ContentType contentType = new System.Net.Mime.ContentType();
contentType.MediaType = System.Net.Mime.MediaTypeNames.Image.Jpeg;
contentType.Name = "signature.jpg";
System.Net.Mail.Attachment imageAttachment = new System.Net.Mail.Attachment(ms, contentType);
System.Net.Mime.ContentDisposition disposition = imageAttachment.ContentDisposition;
mailMessage.Attachments.Add(imageAttachment);
System.Net.Mail.LinkedResource signature = new System.Net.Mail.LinkedResource(ms, new System.Net.Mime.ContentType("image/jpeg"));
signature.ContentId = "CustomerSignature";
System.Net.Mail.AlternateView aView = System.Net.Mail.AlternateView.CreateAlternateViewFromString(mailMessage.Body, new System.Net.Mime.ContentType("text/html"));
aView.LinkedResources.Add(signature);
mailMessage.AlternateViews.Add(aView);
Mi problema era diferente: no estaba convirtiendo mi imagen a una matriz de bytes. Tu publicación me ayudó de todos modos;) –