Enviar correo desde asp .Net
Hoy en día es necesario que nuestras aplicaciones web envíen correos electrónicos para comunicarnos con los usuarios.
En domitienda lo sabemos y por eso queremos dejaros un pequeño tutorial explicando como podeis hacer esto mismo con vuestro dominio y unas pocas lineas en c#.
Primero tendríamos que crear una cuenta de correo en nuestro dominio.
Para ello tan solo sería necesario acceder al Panel de Control Plesk > Inicio > [tu dominio.com] > Correo > Nueva cuenta de correo.
Nosotros hemos creado la cuenta “envio@domitienda.com” con contraseña “contraseñafalsa1234″.
Si nuestra aplicación web esta desarrollada en ASP o PHP podemos utilizar distintos componentes (como el ASPMail, del que hablaré en otra ocasión), en este ejemplo vamos a utilizar un sencillo código en c# para usar con nuestra web en ASP .Net.
private void btnEnviar_Click(object sender, EventArgs e){ //Creamos un nuevo Objeto de Mensaje MailMessage oMsg = new MailMessage(); //Desde (correo electronico desde la que enviamos) oMsg.From = new MailAddress(“envio@domitienda.com”); //Hasta (direccion de correo electronico a la que queremos enviar) oMsg.To.Add(“cuentaDestino@domitienda.com”); //Copia Carbon (direccion de correo electronico que queremos que reciba una copia) oMsg.Bcc.Add(“copia@domitienda.com”); //Asunto oMsg.Subject = “Envio de mail desde codigo”; //Cuerpo del Mensaje oMsg.Body = “Mensaje enviado desde el codigo fuente de mi aplicación .net”; //Creamos una instancia de cliente SMTP para el envio del mensaje //Nombre del servidor SMTP de envio. //Normalmente es “mail.[tu dominio]” SmtpClient smtp = new SmtpClient(“mail.domitienda.com”); //Como nuestro servidor requiere autenticación, tenemos que especificar las credenciales //Para ello tenemos que autenticarnos con nuestra cuenta de correo y contraseña smtp.Credentials = new System.Net.NetworkCredential(“envio@domitienda.com”, “contraseñafalsa1234?); //Y Enviamos el mensaje!!! smtp.Send(oMsg); }
Como podéis ver en el código anterior, es necesario autenticarse en nuestros servidores de correo para poder realizar el envío correctamente.
Para que este código funcione correctamente es necesario que añadais lo siguiente en la cabecera de vuestro fichero .cs:
using System.Net.Mail;
¿Util? ¡Espero que sí!
Como siempre espero vuestros comentarios, dudas y felicitaciones en los comentarios de este post
Un saludo,
El Equipo de Domitienda.com



Muy bien por lo del ejemplo para los programadores de C#
Aquí dejo otro ejemplo en VB
Protected Sub btnEnviar_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim correo As New System.Net.Mail.MailMessage()
correo.From = New System.Net.Mail.MailAddress(txtDe.Text)
correo.To.Add(txtPara.Text)
correo.Subject = txtAsunto.Text
txtTexto.Text &= vbCrLf & vbCrLf & _
“Fecha y hora GMT: ” & _
DateTime.Now.ToUniversalTime.ToString(”dd/MM/yyyy HH:mm:ss”)
correo.Body = txtTexto.Text
correo.IsBodyHtml = False
correo.Priority = System.Net.Mail.MailPriority.Normal
‘———————————————
‘ Estos datos debes rellenarlos correctamente para que no te pase lo que me sucedio a mi
‘———————————————
Dim smtp As New System.Net.Mail.SmtpClient(”mail.domitienda.com”)
smtp.Credentials = New System.Net.NetworkCredential(”envios@domitienda.com”, “contraseñafalsa1234″)
’smtp.EnableSsl = False
‘
Try
smtp.Send(correo)
LabelError.Text = “Mensaje enviado satisfactoriamente”
Catch ex As Exception
LabelError.Text = “ERROR: ” & ex.Message
End Try
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
‘ Esto (en ASP.NET 2.0) no se ejecuta… si AutoEventWireup=”false”
If Not IsPostBack Then
txtTexto.Text = “Hola,” & vbCrLf & _
“Esto es una prueba de envio de correo usando ASP.NET 2.0 con Visual Basic” & vbCrLf & _
“Saludos!!!”
LabelError.Text = “”
End If
End Sub
Prueba para enviar correo usando ASP.NET 2.0 (Visual Basic)
Prueba de envio de correo con ASP.NET 2.0 (C#)
¡Muchas gracias Joel!
Espero que tu ejemplo les sea útil a los usuario de Visual Basic.
Un saludo!
Víctor
muy bueno
probando
El codigo anterior me funciona cuando envio correos electronicos en la Intranet (con su respectivo servidor de correo), pero me da el siguiente error cuando envio del From (correo interno) al to (correo externo como gmail o hotmail por ejemplo). El error es el siguiente:
ERROR: Mailbox unavailable. The server response was: 5.7.1 Unable to relay for mzuniga15@gmail.com
Hola Behelmot,
si eres cliente de domitienda envía un correo a soporte@businet-isp.com indicándonos tu dominio, cuentas y pass desde la que envías, servidor smtp y la cuenta de destino para que podamos realizar una traza del envía de correo y así poder saber exactamente lo que ocurre.
Un saludo!
Probando el envio de correos
Hola gracias por tu sitio es sumamente interesante, nos ayuda mucho, queremos que nos sugieras en que servidores podemos correr una aplicación web (portal bancario) realizada en ASP.NET, o nos proporciones direcciones para conseguir información al respecto.
Saludos!!!
Desde ya gracias…
Buenos días Javier!
Pásate por domitienda.com y échale un ojo a los planes a partir del Básico.
Tenemos soporte para ASP .NET 3.5 (y anteriores) y SQL SERVER 2005 desde 4.95€ al mes!
No te arrepentirás
Esto tiene