2011-10-24 726 views
16
string to = "[email protected]"; 
string body = "Test"; 
SmtpClient SMTPServer = new SmtpClient("127.0.0.1"); 
MailMessage mailObj = new MailMessage(urEmail, to, subject, body); 
SMTPServer.Send(mailObj); 

Así es como actualmente estoy enviando un correo electrónico de prueba. ¿Cómo puedo hacer que este html y poder hacer que el correo electrónico enviado se vea mejor al agregar imágenes, etc.?MailMessage C# - ¿Cómo convertirlo en HTML y agregar imágenes, etc.?

Gracias

+0

Mejor no llamar a un objeto SmtpClient como SMTPServer. – Hikari

Respuesta

33

Por MailMessage establecer la propiedad IsBodyHtml true.

string to = "[email protected]"; 
string body = "Test"; 
SmtpClient SMTPServer = new SmtpClient("127.0.0.1"); 
MailMessage mailObj = new MailMessage(urEmail, to, subject, body); 

mailObj.IsBodyHtml = true; // This line 

SMTPServer.Send(mailObj); 
7

usted tiene que fijar mailObj .IsBodyHtml = true;

1

se puede usar la siguiente idea para tener una página ASPX y lo hacen en una cadena:

StringWriter writer = new StringWriter(); 
Server.Execute("Login.aspx", writer); 
string html = writer.ToString(); 

Si a continuación, establecer el MailMessage.IsBodyHtml true puede enviar un mensaje HTML. Si desea usar imágenes y otras cosas, asegúrese de que el receptor del correo electrónico pueda acceder a esas imágenes.

1

Hay dos maneras de hacer esto:

  1. Integrar las imágenes dentro de su correo. (Consulte this question)

  2. Enlace a las imágenes a través de su atributo src de la etiqueta de imagen dentro de su correo HTML. Esto necesita que usted aloje los archivos de imagen en algún lugar de un servidor web al que puedan acceder los destinatarios.

En ambos casos, deberá enviar el correo con un cuerpo html.

mailObj.IsBodyHtml = true; 
0

Por su pregunta acerca de la adición de imagen para su correo electrónico, si su preguntando para incrustar a continuación, puede utilizar las etiquetas de anclaje de HTML o bien adjuntar el archivo de imagen para el correo usando el método mailObj.Attachments.Add() i adivinar.

Pero la mejor manera es enviar las imágenes como archivos adjuntos porque algunos cortafuegos simplemente bloquean las imágenes incrustadas pero permiten los archivos adjuntos. De esta forma, será más seguro al entregar el contenido, aunque no es la manera perfecta.

Cuestiones relacionadas