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(«[email protected]»);//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(«[email protected]»); //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(«[email protected]»);/*————————-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(«[email protected]», «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
}
}