Tutorial: ¿Cómo hacer un formulario para enviar mails con ASP.net C#?

Hace unos días te enseñé cómo crear un formulario de contacto con ASP. Hoy,  en este tutorial, veremos cómo crearlo con ASP.net C#.

Respecto del que vimos anteriormente existen algunas diferencias que debemos tener en cuenta.

Antes que nada, deberemos crear una cuenta desde nuestro panel de control. Para este fin, recomendamos crearla habilitando la opción “Descartar todo el correo” (Discard All Incoming Mail).

Acá les dejo un ejemplo que podrán usar tranquilamente; tengan en cuenta que este código debe ir en un archivo .aspx

Comencemos entonces!

Primero, deberemos definir las siguientes variables:

from: debería ser una cuenta creada en nuestro panel de control, tal como lo comenté más arriba. Se usará para enviar los correos que se generen desde el formulario hacia la casilla que indiques.

tto: esta es la variable que indica hacia qué casilla de correos se enviarán los mensajes generados por el formulario de contacto.

subject: asunto del correo (en el ejemplo: contacto online).

body: cuerpo del mensaje. Por ejemplo, un aviso que diga que el contacto viene desde el formulario de contacto.

host: el host es el servidor de correo. En nuestro caso, y dado que usaremos el servidor de nuestra cuenta de hosting, comienza con mail.tudominio.com

username: es el usuario que usaremos para autenticar contra el servidor y mandar el mensaje. Recuerda que es el mismo que creamos anteriormente.

password: la contraseña de la cuenta de correo con la que nos autenticaremos en el servidor (en el ejemplo: xxx)

Una vez que tenemos definidos todos estos datos, el formulario quedaría de la siguiente manera:

@ Page Language="C#"
@ Import Namespace="System.Net.Mail"
@ Import Namespace="System.Net"

void Page_Load(object sender, EventArgs e) {
String from = "online@dominio";
String tto = " info@dominio";
String subject = "Contacto online";
String body = "Prueba...";
String host = "mail.dominio";
String username = "online@dominio";
String password = "xxx";

SmtpClient smtpClient = new SmtpClient();
NetworkCredential basicCredential = new NetworkCredential(username, password);
MailMessage message = new MailMessage();
MailAddress fromAddress = new MailAddress(from);

smtpClient.Host = host;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = basicCredential;

message.From = fromAddress;
message.Subject = subject;
message.IsBodyHtml = true;
message.Body = body;
message.To.Add(tto);

try
{
smtpClient.Send(message);
}
catch(Exception ex)
{
//Si hay error lo muestra
Response.Write(ex.Message);
}

Como podrás observar, es verdaderamente sencillo!

Si tenés algún comentario o duda, podés registrarte y escribirnos aquí abajo, o bien contactarte con Soporte Técnico desde el área de clientes.

Deja una respuesta