Envío de correo en .NET con C#

22. January 2011 14:50 by Oscar.SS in Desarrollo .NET  //  Tags:   //   Comments (12)

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
        
}
    }

Recent Comments

Comment RSS

Month List