Categories
.NET ASP.NET Utilidades Windows Forms

Envío de emails con imágenes incrustadas – .NET 2

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 🙂

Código fuente

30 replies on “Envío de emails con imágenes incrustadas – .NET 2”

Ok.. el problema es que en mi casa solo tengo conexion a internet pero no tengo servidor de correos... como haria yo? puedo enviar correos de alguna manera dadas mis condiciones...

gracias por su respuesta

walter

NO se que debo hacer con lo que envias. Donde debo ubicarlo para poder enviar imagenes sin adjuntar. Puedo utilizar yahoo o hotmail?

Como puedo enviar mensajes con imagenes sin tener que adjuntar, utilizando yahoo o hotmail?

excelente informacion, podrias enviarme el codigo, te lo agradezco de antemano, saludos!

mi pregunta es como enviar un mensaje que ya me habian enviado que viene como adjunto y como le ago para mandarlo a algue sin que llege como que ya me lo habian enviado ocea solo enviar el archivo adjunto sin el mensaje gracias bye saludos

Quiero enviar correos por hotmail o yahoo, con las imagenes incrutadas. Como utilizo los codigos fuente, donde debo ubicarlos.

gracias por todo

lastima que la imagen llega como adjunta cuando pruebo con hotmail pero en gmail si se ve bien gracias por compartir tu codigo

La mascletà del dia 19-3-08 me ha dejado impresionado,sobretodo por el rremoto final que has echo.Yo estaba en 1a fila deel terremoto donde hacias mas ruido asi que donde ay pòlvora ai estoy yo y tu como has preparado una mascletà k te deja con la boca abieta te mereces un aplauso my grande y que sepas que voy a ser uno de tus ídolos que van a ir a verte a valencia ,a ver como mete esas explosiones ,mascletadas apoteosicas como las haces tu siempre un abrazo muy fuerte ademas que yo ya ago mis minimascletàdas pero un sueño mio es hacer una mascletà como las haces tu donde todo el mundo disfruta de como esos zambombazos llenan de polvora el corazon de otras personas

disculapame yo no se anda de pc... me gustaria charlarlo al tema este..

ivancuzz hotmail.com

Hola amigos,
muchas gracias por el código, es justo lo que estaba buscando ya que tengo que hacer una web que envía un boletín a los miembros pero el cuerpo del mensaje debe llevar imagenes incrustadas. Lo había intentado poniendo las imagenes adjuntas pero no era lo que necesitaba.

Muchas gracias y buen trabajo 😉

Una pregunta amigo... donde puedo encontrar el código usando DotNetOpenMail?

El problema que tengo es el siguiente, quiero enviar correos con imagenes incrustadas, con el ejemplo que indicas aca sale todo bien, pero el problema es que hay algunos servidores de correos que las imagenes, ademas de llegar en el cuerpo del mensaje, llegan como archivos adjuntos, y eso no es lo que yo deseo.

Quise intentarlo con DotNetOpenMail pero me manda el error "Unrecognized authentication type" utilizando una cuenta de gmail.

Espero me puedas ayudar,
Saludos

Comments are closed.