Está usted en Indice > Construcción > Lenguajes > ASP > Lecciones y Paso a Paso > Enviar correo con ASP.NET 2.0
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Enviar correo con ASP.NET 2.0

En este artículo vamos a ver cómo enviar correos desde páginas de ASP.NET (.aspx), usando las clases del espacio de nombres System.Net.Mail, que son nuevas para la versión 2.0 de .NET Framework.

De ese espacio de nombres usaremos tres clases: MailMessage que será la clase con la que crearemos el mensaje, y en la que indicaremos el que envía el mensaje, quién lo recibe, el asunto, etc. Para indicar el que envía el mensaje, tendremos que usar un objeto del tipo MailAddress, el cual lo asignaremos a la propiedad From de la clase MailMessage. Para enviar el mensaje usaremos un objeto del tipo SmtpClient, que a diferencia de ASP.NET 1.x no tiene métodos estáticos (compartidos), por tanto tendremos que crear una nueva instancia de esa clase y asignar los valores apropiados para poder mandar el mensaje, ahora veremos como hacerlo, además de ver otras cosas que en el equivalente de la versión 1.x no existen.

Estas clases solamente se pueden usar con la versión 2.0 de .NET Framework.

Crear el mensaje

Lo primero que debemos hacer es crear el mensaje que vamos a enviar. Como te he comentado antes, para crear ese mensaje usaremos la clase MailMessage del espacio de nombres System.Net.Mail, a la que le indicaremos los datos habituales:
-El que envía el mensaje (propiedad From)
-A quién va dirigido el mensaje (propiedad To)
-El asunto del mensaje (propiedad Subject)
-El cuerpo (o contenido) del mensaje, (propiedad Body)
-Y algunas cosas más como el formato del mensaje y la prioridad.

Aunque como veremos, la forma de hacerlo difiere "un poco" a como se hacía en las versiones anteriores, al menos en lo que se refiere a los valores de las propiedades From y To.

En el código que te muestro a continuación, se supone que tenemos un formulario Web con los controles (de tipo TextBox) para cada una de esas propiedades.

Lo primero es crear el objeto del tipo MailMessage:

Dim correo As New System.Net.Mail.MailMessage
System.Net.Mail.MailMessage correo = new System.Net.Mail.MailMessage();

A continuación asignamos las propiedades usando los valores de las cajas de texto que tendrá nuestro WebForm (formulario Web). Como comprobarás, para asignar el valor del correo que envía el mensaje, usamos un objeto del tipo MailAddress, ya que la propiedad From es de ese tipo y por tanto no acepta una cadena de texto. En el caso de la cuenta To, es decir, a quién va dirigido el mensaje, en realidad es una colección de tipo MailAddressCollection, por lo que podemos deducir que en realidad se pueden asignar varias direcciones de correo, tantas como necesitemos indicar para mandar el mismo mensaje a todas ellas, pero no te asustes, como puedes ver a continuación es fácil asignar esas cuentas de correo.
Veamos el código para Visual Basic y para C#:

correo.From = New System.Net.Mail.MailAddress(txtDe.Text)
correo.To.Add(txtPara.Text)
correo.Subject = txtAsunto.Text
correo.Body = txtTexto.Text
correo.IsBodyHtml = False
correo.Priority = System.Net.Mail.MailPriority.Normal
correo.From = new System.Net.Mail.MailAddress(txtDe.Text);
correo.To.Add(txtPara.Text);
correo.Subject = txtAsunto.Text;
correo.Body = txtTexto.Text;
correo.IsBodyHtml = false;
correo.Priority = System.Net.Mail.MailPriority.Normal;

Como puedes ver, el que envía el mensaje, (propiedad From), hay que indicarlo asignándole un objeto del tipo MailAddress, en este caso, lo creamos directamente y ese nuevo objeto es el que asignamos a la propiedad From.
También te comentaba que el o los destinatarios había que asignarlo a la propiedad To, que es una colección del tipo MailAddressCollection, y como en cualquier colección, cada nuevo elemento lo añadimos usando el método Add de la colección, en este caso, los elementos son cadenas con la dirección de correo de los destinatarios. En nuestro caso, solo hay uno, el que esté indicado en la caja de textos txtPara.



Usuarios que han visto este tema también han visto...

- Declaración de variables con ASP
- Cómo vaciar un array
- Depuracion: mostrar las variables de session
- Valor absoluto de un número
- Optimizar páginas con ASP


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad






Cursos de Community Manager

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 25-05-2012 a las 10:04:29