Parte de un proyecto que tengo que hacer requiere de enviar una factura por correo electrónico,esta debe tener dos imagenes,un poster de una película y un código de barras(es un sistema de cines);ya tengo el código para enviar el correo y crear el código de barras, pero cuando el correo llega no tiene imagenes.
Todo lo que he encontrado en internet requiere de la ruta de la imagen para cargarla en el fondo, pero en mi programa el postern de la película esta en un arreglo de bits en la base de datos y el código de barras se crea despues de la factura de modo que no tengo una ruta específica para ninguna de las dos.
Este es el código que estoy usando actualmente para enviar ese correo:
static public void enviarCorreo(string mensaje,string destinatario,byte[] AfichePelicula, byte[] CodigoBarras)
{
MailMessage correos = new MailMessage();
SmtpClient envios = new SmtpClient();
MemoryStream imagenPelicula = new MemoryStream(AfichePelicula);
MemoryStream imagenCodigo = new MemoryStream(CodigoBarras);
try
{
correos.To.Clear();
correos.Body = "";
correos.Subject = "";
AlternateView plainView = AlternateView.CreateAlternateViewFromString(mensaje, null,MediaTypeNames.Text.Plain);
AlternateView htmlView = AlternateView.CreateAlternateViewFromString("image.<img src=cid:AfichePelicula>", null,MediaTypeNames.Image.Jpeg);
AlternateView htmlView1 = AlternateView.CreateAlternateViewFromString("image.<img src=cid:CodigoBarras>", null,MediaTypeNames.Image.Jpeg);
LinkedResource imagen1 = new LinkedResource(imagenPelicula,MediaTypeNames.Image.Jpeg);
imagen1.ContentId = "AfichePelicula";
imagen1.ContentType = new ContentType("image/jpg");
LinkedResource imagen2 = new LinkedResource(imagenCodigo,MediaTypeNames.Image.Jpeg);
imagen2.ContentId = "CodigoBarras";
imagen2.ContentType = new ContentType("image/jpg");
correos.Subject = Asunto;
correos.IsBodyHtml = true;
correos.To.Add(destinatario.Trim());
correos.From = new MailAddress(Emisor);
correos.AlternateViews.Add(plainView);
correos.AlternateViews.Add(htmlView);
correos.AlternateViews.Add(htmlView1);
envios.Credentials = new NetworkCredential(Emisor,Password);
envios.Host = "smtp.gmail.com";
envios.Port = 587;
envios.EnableSsl = true;
envios.Send(correos);
}
catch (Exception ex)
{
throw;
}
}
¿Que me hace falta para que esas imagenes sean agregadas al correo?