Cómo enviar email con ASP.NET c# desde godaddy
En este post voy a explicar cómo enviar un correo desde un sitio web alojado en godaddy.
Tengo un formulario de contacto en html con algunos datos básicos como nombre, apellido y correo que debe ser enviado a una cuenta de correo administrativa del sitio. Estoy usando jquery para hacer el llamado al código de envío de correo e imprimiendo en un alert el mensaje de error o éxito.
Es importante mencionar que las cuenta de correo que utilizo para hacer el envío es también administrada por godaddy. Por esta razón tanto el servidor smtp de salida y el puerto los obtuve desde el panel de control de correos de godaddy.
Primero es necesario obtener los datos del servidor smtp de godaddy. Para esto deben ir a la sección de Email dentro de godaddy (Mis productos - email - administrar o algo parecido).
Deben encontrar algo parecido a esto:
De ahí deben tomar el nombre del servidor SMTP. En mi caso es smtpout.secureserver.net
Aqui está el código en c# para enviar correos desde godaddy con ASP.NET razor. Este código es de un archivo cshtml.
@using System.Net.Mail;
@{
var nombre = Request["nombre"];
var apellido = Request["apellido"];
var email = Request["email"];
var telefono = Request["telefono"];
var pais = Request["pais"];
var ciudad = Request["ciudad"];
var mensaje = Request["mensaje"];
var bodyMail = "<p>Nombre: "+ nombre +"</p>";
bodyMail += "<p>Apellido: "+ apellido +"</p>";
bodyMail += "<p>Email: " + email + "</p>";
bodyMail += "<p>Telefono: " + telefono + "</p>";
bodyMail += "<p>Pais: " + pais + "</p>";
bodyMail += "<p>Ciudad: " + ciudad + "</p>";
bodyMail += "<p>Mensaje: " + mensaje + "</p>";
MailMessage mail = new MailMessage(email, "administracion@misitio.com");
SmtpClient client = new SmtpClient();
client.Host = "smtpout.secureserver.net";
client.Port = 3535; //pueden probar con los puertos arriba disponibles
client.UseDefaultCredentials = false;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = false;
client.ServicePoint.MaxIdleTime = 1;
client.Timeout = 1000;
client.Credentials = new NetworkCredential("administracion@misitio.com", "***");
mail.IsBodyHtml = true;
mail.Subject = "Contacto: " + nombre + apellido;
mail.Body = bodyMail;
try{
client.Send(mail);
@Html.Raw("El correo fue enviado correctamente.");
}catch(Exception err){
@Html.Raw("Ocurrió un error. Intente nuevamente.");
}
mail.Dispose();
}
Cómo ven sólo regreso mensajes de error y éxito porque lo estoy llamando desde uná página html con jquery e imprimo los mensajes en un alert.
Espero les sirva.
Hola,
ResponderBorrarAcabo de encontrar tu post, y me ha resuelto perfectamente el problema que tenia para enviar correos desde GoDaddy.
Muchas gracias, muy claro, sencillo y funcionando al 100%
Que bueno que te sirvió!
BorrarMuchas gracias!! tengo 2 días tratando de enviar correo desde el servidor de godaddy y he probado muchas alternativas, tu post resolvió mi problema a la perfección! te agradezco mucho!!
ResponderBorrarExcelente George! No olvides compartirlo :)
Borrar