Enviar un correo por SMTP

2025 vistas

Usaremos la clase System.Web.Mail

Para la versión 1.0 y 1.1



csharp
  1. static void Main(string[] args)
  2. {
  3.     // Objeto mail
  4.     MailMessage msg = new MailMessage();
  5.     // De (obligatorio)
  6.     msg.From = "from@undominio.com";
  7.     // destinatario (al menos 1)
  8.     msg.To = "to@undominio.com;toto@otrodominio.com";
  9.     // destinatario CC (opcional)
  10.     msg.Cc = "cc@undominio.com";
  11.     // texto del correo (opcional)
  12.     msg.Body = "Hola\n" +
  13.               "Esto es el contenido del correo\n" +
  14.               "Saludos";
  15.     // adjuntos (opcional)
  16.     msg.Attachments.Add(new MailAttachment(@"c:\fichero.txt", MailEncoding.UUEncode));
  17.     // Servidor SMTP
  18.     SmtpMail.SmtpServer = "smtp.dominio.com";
  19.     // EnvÃo del correo
  20.     SmtpMail.Send(msg);
  21. }



Nota: las excepciones que pueda levantar el método Send, no suelen ser muy explÃcitas.

Para la versión 2.0



csharp
  1. //...
  2. using System.Web.Mail;
  3. //...
  4. [STAThread]
  5. static void Main(string[] args)
  6. {
  7.     // Objeto mail
  8.     MailMessage msg = new MailMessage();
  9.     // De (obligatorio)
  10.     msg.From = "from@undominio.com";
  11.     // destinatario (al menos 1)
  12.     msg.To = "to@undominio.com;toto@otrodominio.com";
  13.     // destinatario CC (opcional)
  14.     msg.Cc = "cc@undominio.com";
  15.     // texto del correo (opcional)
  16.     msg.Body = "Hola\n" +
  17.               "Esto es el contenido del correo\n" +
  18.               "Saludos";
  19.     // adjuntos (opcional)
  20.     msg.Attachments.Add(new MailAttachment(@"c:\fichero.txt", MailEncoding.UUEncode));
  21.     // Servidor SMTP
  22.     SmtpMail.SmtpServer = "smtp.dominio.com";
  23.     // EnvÃo del correo
  24.     SmtpMail.Send(msg);
  25. }