
El Framework de .NET nos permite enviar correo electrónico desde nuestro código de forma muy sencilla. Conceptualmente se puede resumir en 3 sencillos pasos:
1- Crear el mensaje de correo.
2- Configurar el cliente de correo desde el que enviamos el mensaje.
3- Enviar el mensaje.
Para realizar estas operaciones necesitaremos 3 objetos o clases integradas en el Framework:
– System.Net.Mail.MailMessege -> Nos permite encapsular todos las propiedades de nuestro mensaje.
– System.Net.Mail.MailAddress -> Representa una dirección de correo electrónico.
– System.Net.Mail.SmtpClient ->Representa un cliente de correo electrónico basado en el protocolo SMTP.
Veamos un ejemplo de código:
public void EnviarCorreo()
{
/*————————-MENSAJE DE CORREO———————-*///Creamos un nuevo Objeto de mensaje
System.Net.Mail.MailMessage mmsg = new System.Net.Mail.MailMessage();//Direccion de correo electronico a la que queremos enviar el mensaje
mmsg.To.Add(“destinatario@servidordominio.com”);//Nota: La propiedad To es una colección que permite enviar el mensaje a más de un destinatario
//Asunto
mmsg.Subject = “Asunto del correo”;
mmsg.SubjectEncoding = System.Text.Encoding.UTF8;//Direccion de correo electronico que queremos que reciba una copia del mensaje
mmsg.Bcc.Add(“destinatariocopia@servidordominio.com”); //Opcional//Cuerpo del Mensaje
mmsg.Body = “Texto del contenio del mensaje de correo”;
mmsg.BodyEncoding = System.Text.Encoding.UTF8;
mmsg.IsBodyHtml = false; //Si no queremos que se envíe como HTML//Correo electronico desde la que enviamos el mensaje
mmsg.From = new System.Net.Mail.MailAddress(“micuenta@servidordominio.com”);/*————————-CLIENTE DE CORREO———————-*/
//Creamos un objeto de cliente de correo
System.Net.Mail.SmtpClient cliente = new System.Net.Mail.SmtpClient();//Hay que crear las credenciales del correo emisor
cliente.Credentials =
new System.Net.NetworkCredential(“micuenta@servidordominio.com”, “micontraseña”);//Lo siguiente es obligatorio si enviamos el mensaje desde Gmail
/*
cliente.Port = 587;
cliente.EnableSsl = true;
*/cliente.Host = “mail.servidordominio.com”; //Para Gmail “smtp.gmail.com”;
/*————————-ENVIO DE CORREO———————-*/
try
{
//Enviamos el mensaje
cliente.Send(mmsg);
}
catch (System.Net.Mail.SmtpException ex)
{
//Aquí gestionamos los errores al intentar enviar el correo
}
}