Buayacorp
Envío de emails con imágenes incrustadas - .NET 2
Noviembre 30th, 2006 - [Enlace local]
Por si alguien le sirve, muestro un pequeño ejemplo en C# para enviar emails con imágenes incrustadas en el cuerpo del mensaje.
El servidor SMTP que se usa en este caso es el de GMail
csharp:
MailMessage mensaje = new MailMessage("fulano@gmail.com", "alguien@empresa.com"); mensaje.Subject = "Prueba imágenes embedidas"; // Crear la vista HTML del mail, notar lo que se pone en el tag "img" AlternateView html = AlternateView.CreateAlternateViewFromString(@"<h1>Buayacorp</h1> <img src=""cid:buayacorp_logo"" /><br /><p>Esto es una prueba de una imagen incrustada</p>", Encoding.UTF8, "text/html"); // Crear la vista de texto plano, siempre es bueno para aquellos que no les gusta el HTML AlternateView texto = AlternateView.CreateAlternateViewFromString("BuayaCorp\n\nTexto plano", Encoding.UTF8, "text/html"); // Adjuntar el recurso logo.jpg, con id "buayacorp_logo" a la vista HTML LinkedResource logo = new LinkedResource(@"C:\logo.jpg"); logo.ContentId = "buayacorp_logo"; html.LinkedResources.Add(logo); // Añadir las 2 vistas del correo mensaje.AlternateViews.Add(texto); mensaje.AlternateViews.Add(html); // Definir el servidor SMTP, GMail usa SSL para la autenticación SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587); smtp.EnableSsl = true; // Ingresar nuestra cuenta de gmail smtp.Credentials = new NetworkCredential("fulano@gmail.com", "contraseña"); smtp.Send(mensaje);
Nota: si desean el código de este pequeño ejemplo, pues sólo tienen que pedirlo