Vamos a utilizar la clase System.Net.Mail, una nueva clase de la versión 2.0 de Microsft .NET Framework.
En este espacio de nombres (Namespace) vamos a utilizar las siguiente clases:
MailMessage: Con esta clase vamos a crear el mensaje además que nos permitirá indicar quién envía el mensaje, quién lo recibe, el asunto, etc.
MailAddress: Con este objeto vamos a indicar quien envía el mensaje mediante la propiedad From de la clase MailMessage
Para enviar el mensaje vamos a utilizar un objeto de la clase SmtpClient, en donde tendremos que crear una nueva instancia de la clase para asignar los valores adecuados para poder mandar el mensaje.
"Ojo", estas clases solo se pueden utilizar con la versión 2.0 del Framework.
Bueno ya que vimos cuales son los elementos que nos permitirán enviar el correo vamos a ver como se hace:
Creación del Mensaje:
Vamos a utilizar las siguientes propiedades para crear el mensaje:
From: La persona que envía el mensaje To: La persona que recibe el mensaje Subject: El asunto del mensaje Body: El contenido o cuerpo del mensaje
Una vez que sabemos cuales son las propiedades que vamos a utilizar, pasamos al código
Creamos un objeto de tipo System.Net.Mail.MailMessage
VB.NET: Dim _mail As New System.Net.Mail.MailMessage
C# System.Net.Mail.MailMessage _mail = new System.Net.Mail.MailMessage();
Ahora vamos a asignar las propiedades utilizando valores obtenidos de cajas de texto de una WebForm
Una vez que hemos creado el objeto del mensaje vamos a enviarlo utilizando una instancia de la clase SmtpClient de la que estaremos usando las siguientes propiedades:
Host: Le indicamos el nombre del servidor de correo que estemos utilizando (Ej. mail.midominio.com):
VB.NET Dim smtp As New System.Net.Mail.SmtpClient smtp.Host = "mail.midominio.com"
C# System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient(); smtp.Host = "mail.midominio.com";
Si nuestro servidor requiere autenticación, vamos a poder dársela mediante el objeto NetworkCredential, en donde le indicatemos el nombre de usuario y contraseña, ese objeto lo asignamos a la propiedad Credentials del objeto SmtpClient que acabamos de crear
VB.NET smtp.Credentials = New System.Net.NetworkCredential("usuario", "password")
C# smtp.Credentials = new System.Net.NetworkCredential("usuario", "password");
Ya que tenemos estos pasos realizados vamos a mandar el mensaje, para esto vamos a utilizar un botón al que le llamaremos "Enviar" y en el evento click de este botón escribimos el siguiente código:
VB.NET Try smtp.Send(_mail) LabelError.Text = "El correo ha sido enviado con éxito" Catch ex As Exception LabelError.Text = "Mensaje del Administrador: " & ex.Message End Try
C# try { smtp.Send(_mail); LabelError.Text = "El correo ha sido enviado con éxito"; } catch(Exception ex) { LabelError.Text = "Mensaje del Administrador: " + ex.Message; }