Categorías: Tutoriales

Enviar correos con C# usando Mono

Si necesitáis conectaros a un servidor SMTP para hacer envíos de correos desde una aplicación que corre Mono, os dejo el código siguiente que seguro que os es de utilidad. Este ejemplo en concreto envía un mensaje usando un SMTP que requiere autenticación, si necesitáis alguna variantes: varios destinatarios, SMTP sin autenticación o cualquier otra cosa, ¡preguntad en los comentarios!

public static void Main (string[] args)
{
 MailAddress para = new MailAddress("para@direccion.com");
 MailAddress desde = new MailAddress("desde@direccion");

 MailMessage mensaje = new MailMessage(desde, para);
 mensaje.Subject = "Asunto";
 mensaje.Body = @"Cuerpo del correo";

 SmtpClient cliente = new SmtpClient("direccion_servidor", puerto);
 cliente.Credentials = new System.Net.NetworkCredential
("nombre_usuario", "contraseña_usuario");
 Console.WriteLine("Enviando mensaje de correo para: " + para.User
 + " en " + para.Host + " usando el servidor=" + cliente.Host + ".");

       try {
   cliente.Send(mensaje);
   Console.WriteLine("Mensaje enviado");
 }
 catch (Exception ex) {
   Console.WriteLine("Problemas enviando mensaje: " + ex.ToString());
  }
}

Tened en cuenta que estamos trabajando con el espacio de nombres del ensamblado: System.Net.Mail.

Como veis el procedimiento es simple:

  1. Se crean dos objetos para las direcciones de correo
  2. Se crea el mensaje en sí
  3. Se instancia el cliente SMTP, inicializando las credenciales
  4. Para finalmente llamar al método de envío

Respondemos las dudas y sugerencias en los comentarios.

F. Javier Carazo Gil

Cofundador de CODECTION, empresa especializada en WordPress, autor de un libro sobre WordPress (el primero en español) y multitud de artículos (en medios físicos y virtuales) sobre el tema. Participa en la comunidad WordPress de forma activa siendo parte del equipo organizador de la WordPress Meetup de Córdoba, dando charlas en diferentes WordCamp y siendo autor y coautor de multitud de plugins libres y premium para WordPress de gran éxito.

Ver comentarios

  • Hola, me gustaria que me aclararas como poder utilizar SMTP sin autenticación, te agradeceria mucho gracias

    • La solución a tu problema es si la propiedad UseDefaultCredentials es false Credentials no se establece, envías correos sin credenciales.

    • Puedes poner varias direcciones en los destinatarios, pero tendrás que separarlos por punto y coma: ;

Entradas recientes

432 CVEs

5 días hace

Anti-IA

2 semanas hace

Memoria

3 semanas hace

Mal uso

4 semanas hace

Precio de la RAM

1 mes hace

AUR

1 mes hace