|
Envío de mails con ASP.NET
Publicado: 23/03/2006
Leído: 5806 veces
Lectura: 0 minutos
|
Categoría: ASP.NET General
Valoracion: 6,069334
|
|
El envío de emails con ASP.NET 2.0 es, terriblemente fácil... la de cosas que han pasado desde que había que usar aplicaciones de terceras personas para enviar un email con ASP 3.0!!! Todas las herramientas necesarias se encuentran en el namespace System.Net.Mail.
Tanto es así, que con tres líneas de código se puede solucionar:
envioEmailASPNET.cs MailMessage Email = new MailMessage(Origen, Destino, Asunto, Mensaje); SmtpClient smtp = new SmtpClient(); smtp.Send(Email);
Como veis, no hay más que crear una variable MailMessage con el origen, el destino, el asunto y el mensaje. Luego creamos una variable SmtpClient y se envía el email.
Pues eso, así de fácil ... aunque bueno, eso sería en un mundo ideal, porque lo más normal es que haya que definir el host al que se envía el mail, y muy problablemente haya que definir ciertas credenciales (nombre de usuario y contraseña). Pero no os preocupéis, sigue siendo muy sencillo.
Más sobre la creación del MailMessage Vayamos por pasos, vamos a esmerarnos un poquito más en la creación de la variable MailMessage:
envioEmailASPNET.cs MailAddress origen = new MailAddress("webmaster@subgurim.net", "Soy el webmaster"); MailAddress destino = new MailAddress("webmaster@google.com", "Larry");
MailMessage Email = new MailMessage(origen, destino, "Mi asunto", "<b>Cuerpo del mensaje</b>"); //Email.Bcc ="" //Email.CC="" Email.IsBodyHtml = true; Email.Priority = MailPriority.High; //Email.ReplyTo=""
Donde lo único que cabe destacar es que origen y destino ya no son variables string, sino variable MailAddress, donde se indica la dirección del correo y el nombre que quieres que aparezca. También se muestra otras opciones de envío de email como los típicos Bcc, CC o ReplyTo, además de indicar la prioridad del mensaje así como indicar si es o no un mensaje HTML.
Más sobre SmtpClient (envío con credenciales) Es bastante probable que queramos mandar un mail desde a un host smtp con nuestro nombre y contraseña incluído. Debéis importar el namespace System.NET:
envioEmailASPNET.cs SmtpClient smtp = new SmtpClient();
smtp.UseDefaultCredentials = false; NetworkCredential credencial = new NetworkCredential("nombreDeUsuario", "Contraseña"); smtp.Credentials = credencial;
// smtp.Port = 25; Se usa para indicar un puerto diferente al habitual smtp.Host = "smtp.miservidor.com";
smtp.Send(Email);
Primero creamos la variable SmtpClient, y seguidamente le decimos que no use las credenciales por defecto. Creamos nuestras nuevas credenciales y las asignamos a nuestra variable. Posteriormente le indicamos cuál es nuestro host smtp y enviamos el email.
Sencillo, ¿no?
|
Ante cualquier duda o sugerencia sobre este artículo, coméntalo en el
foro de ASP.NET
de nuestra Web Amiga sobre
asp.net
|