Foros del Web » Programando para Internet » ASPX (.net) »

Pueden mandar correos con ASP.NET 2.0 ??

Estas en el tema de Pueden mandar correos con ASP.NET 2.0 ?? en el foro de ASPX (.net) en Foros del Web. Hola de nuevo. Me estoy peleando con el ASP para mandar correos pero no tengo forma. Creo que tengo ya todo configurado, pero me tira ...
  #1 (permalink)  
Antiguo 03/05/2006, 03:17
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Pueden mandar correos con ASP.NET 2.0 ??

Hola de nuevo.
Me estoy peleando con el ASP para mandar correos pero no tengo forma. Creo que tengo ya todo configurado, pero me tira el siguiente error:

- InnerException {"Se ha anulado una conexión establecida por el software en su equipo host"} System.Exception

Saben a qué puede deberse el error?

Les dejo el codigo para mandar el correo, que utilizo:
Código:
Dim miEmail As New System.Net.Mail.MailMessage
With miEmail
  .From = New System.Net.Mail.MailAddress(txtRemitente.Text)
  .To.Add(txtDestino.SelectedValue)
  .Subject = txtAsunto.Text
  .Body = txtMensaje.Text
  .IsBodyHtml = True
End With
Dim miSMTP As New System.Net.Mail.SmtpClient
miSMTP.UseDefaultCredentials = False
miSMTP.Credentials = New System.Net.NetworkCredential(ConfigurationManager.AppSettings("SMTPUser"), ConfigurationManager.AppSettings("SMTPPass"))
miSMTP.Port = 25
miSMTP.Host = ConfigurationManager.AppSettings("SMTPHost")
miSMTP.Send(miEmail) 'Enviar Email
Gracias por la ayuda.
Saludos!
__________________
..:: moNTeZIon ::..

Última edición por moNTeZIon; 03/05/2006 a las 07:40
  #2 (permalink)  
Antiguo 09/05/2006, 01:50
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Pudo alguien ya mandar un mail?
Disculpen que reviva el post, pero sigo sin saber cual es el problema... no puede ser tan dificil mandar un correo...
__________________
..:: moNTeZIon ::..
  #3 (permalink)  
Antiguo 09/05/2006, 13:53
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 3 meses
Puntos: 7
No habrá algún firewall que esté bloqueando las conecciones? (prueba haciendo: telnet servidorsmtp 25)

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #4 (permalink)  
Antiguo 10/05/2006, 03:10
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Me da esto:

Código:
Conectándose a NombreServidorSMTP...No se pudo abrir la conexión al host, en puerto 25: Error en la conexión
He probado con varios servidores de correo y nada. Me da el mismo mensaje en respuesta al telnet.

Mas sugerencias plis


Algunas cosas que dudo

1) Esta linea:
Código:
miSMTP.Credentials = New System.Net.NetworkCredential(ConfigurationManager.AppSettings("SMTPUser"), ConfigurationManager.AppSettings("SMTPPass"))
Lo que especifica es un usuario y contraseña que tenga permisos para enviar correos a través de ese servidor, verdad? El típico nombre de usuario y contraseña cuando configuramos una cuenta en un gestor de correo, como outlook...

2) Requiero de alguna configuración especial en el web.config o cualquier otro sitio, para poder mandar correos?

Gracias a todos.
__________________
..:: moNTeZIon ::..

Última edición por moNTeZIon; 10/05/2006 a las 04:45
  #5 (permalink)  
Antiguo 10/05/2006, 14:05
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 3 meses
Puntos: 7
En cuanto a tus dudas:
1.- Esa línea sirve cuando tu servidor SMTP requiere autenticación para enviar los mails.
2.- No necesita ninguna configuración especial.

Si el servidor SMTP con el que intentas probar funciona correctamente (y en el puerto estándar), entonces creo que el *problema* está algún servidor firewall o proxy.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #6 (permalink)  
Antiguo 11/05/2006, 01:30
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
OK. Gracias xknown. Miraré qué puede ser, entonces.
__________________
..:: moNTeZIon ::..
  #7 (permalink)  
Antiguo 12/05/2006, 05:38
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Hola de nuevo.
El tema está medio solucionado, aunque me queda una incognita.
Este es el código, casi casi lo mismo que habia:
Código:
    Try

            Dim miEmail As New System.Net.Mail.MailMessage
            With miEmail
                .From = New System.Net.Mail.MailAddress(txtRemitente.Text)
                .To.Add(txtDestino.Text)
                .Subject = txtAsunto.Text
                .Body = txtMensaje.Text
                .IsBodyHtml = True
            End With

            Dim miSMTP As New System.Net.Mail.SmtpClient
            miSMTP.UseDefaultCredentials = False
            miSMTP.Credentials = New System.Net.NetworkCredential("[email protected]", "miContraseña")
            miSMTP.Port = 25
            miSMTP.Host = "mail.dominio.com"
            miSMTP.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network
            miSMTP.Send(miEmail) 'Enviar Email

            lblResultado.Text = "El mail ha sido enviado a """ & txtDestino.Text & """ correctamente." & _
                "<br /><br />Gracias por contactar con nosotros."

        Catch eX As Exception

            lblResultado.Text = "<TABLE cellSpacing=""0"" cellPadding=""10"" width=""100%""><tr><td class=""Rojo20"">" & _
                "<SPAN class=""TextoError"">" & eX.Message & "</SPAN></td></tr></TABLE><br />"

        End Try
Me di cuenta que al subir la web al servidor en internet, el codigo funciona correctamente, y envia el correo.
O sea, que falla cuando estoy en localhost, y no falla arriba en el web.
Por qué es esto? Entiendo que sea desde donde sea, le estoy indicando la ip del servidor de correo y las credenciales, o sea que tendría que mandar correctamente el correo también, si tengo conexión a internet, claro.
Cual puede ser la razón por la que no funcione en local?

Gracias!!
Saludos cordiales
__________________
..:: moNTeZIon ::..
  #8 (permalink)  
Antiguo 12/05/2006, 13:44
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 3 meses
Puntos: 7
No importa que pongas las credenciales correctas si no puedes conectarte directamente al puerto 25 de tu servidor SMTP, como dije anteriormente, debe haber algo que esté bloqueando las conexiones entre tu máquina y el servidor SMTP...

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #9 (permalink)  
Antiguo 15/05/2006, 01:20
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
OK. Gracias por responder.
Entonces no puedo hacer nada... En fin, sino hay nada más lo dejaremos así.

1) Pero me quedo con la misma duda.
Por ejemplo, si me configuro la cuenta de correo en mi outlook, puedo enviar correos desde una cuenta de ese servidor de correo prefectamente. En cambio, desde mi aplicación .NET no puedo hacerlo?
Y si deseo crear un cliente de correo con .NET, como se supone que debería cominicarse con el servidor de correo para poder mandar los mails? Porqué poder se puede... no? Eso hacen los gestores de correo...
Si fuera motivo de que hay un firewall por medio, debería cortar la petición de un cliente de correo como outlook, no?

2) Por otro lado, he intentado solucionarlo creando un webService en ese sitio, y entonces, ejecutando en local, acceder al web service y sea éste el que mande el mail. Pues bien, me ocurre algo extraño. Me envia bien el correo, pero solamente a direcciones de ese servidor de correo. Si la mando a una direccion de hotmail, por ejemplo, no se envia. Me dice lo siguiente:

- 5.7.1 Unable to relay for [email protected]

Que piensas?
Gracias por las opiniones...
Saludos
__________________
..:: moNTeZIon ::..

Última edición por moNTeZIon; 15/05/2006 a las 08:43
  #10 (permalink)  
Antiguo 15/05/2006, 13:24
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 3 meses
Puntos: 7
Cita:
Iniciado por moNTeZIon
1) Pero me quedo con la misma duda.
Por ejemplo, si me configuro la cuenta de correo en mi outlook, puedo enviar correos desde una cuenta de ese servidor de correo prefectamente. En cambio, desde mi aplicación .NET no puedo hacerlo?
Y si deseo crear un cliente de correo con .NET, como se supone que debería cominicarse con el servidor de correo para poder mandar los mails? Porqué poder se puede... no? Eso hacen los gestores de correo...
Si fuera motivo de que hay un firewall por medio, debería cortar la petición de un cliente de correo como outlook, no?
Si no me equivoco, Outlook utiliza las configuraciones de conexión que tenga el IE (dale un vistazo a Tools->Connecions->Lan Settings), la clase SmtpMail intenta conectarse directamente al puerto 25 del servidor SMTP, por lo tanto, si ésta conexión falla, no podrás enviar mails.

Cita:
2) Por otro lado, he intentado solucionarlo creando un webService en ese sitio, y entonces, ejecutando en local, acceder al web service y sea éste el que mande el mail. Pues bien, me ocurre algo extraño. Me envia bien el correo, pero solamente a direcciones de ese servidor de correo. Si la mando a una direccion de hotmail, por ejemplo, no se envia. Me dice lo siguiente:

- 5.7.1 Unable to relay for [email protected]

Que piensas?
Simplemente es configurar tu servidor SMTP para que te deje enviar mails, puedes hacerlo por IP o usando autenticación.
http://www.systemwebmail.com/faq/4.3.11.aspx

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #11 (permalink)  
Antiguo 05/04/2007, 08:43
 
Fecha de Ingreso: abril-2007
Mensajes: 1
Antigüedad: 17 años
Puntos: 0
De acuerdo Pueden mandar correos con ASP.NET 2.0 ??

Estaba desarrollando una aplicación web con asp.net 2.0 y tuve el mismo problema, el servidor donde residía la aplicación no me dejaba enviar correos, tampoco podía hacer un "telnet <ipsmtpserver> 25" porque me daba error(no se conectaba) pero no tenía nada q ver con las credenciales, el problema era el mcafee (antivirus, firewall) que me bloqueaba el puerto 25 por la protección de ataques de correos masivos, simplemente deshabilite esta opción y los correos se enviaron normalmente.

[email protected]
  #12 (permalink)  
Antiguo 20/06/2007, 18:02
 
Fecha de Ingreso: junio-2007
Mensajes: 1
Antigüedad: 16 años, 10 meses
Puntos: 0
Ayuda por favor C#

Hola amigos, esto esta que me vuelve loco, no se que es lo que estoy haciendo mal pero no me sale.

Soy nuevo en asp net, espero sus respuestas.

Ahi les envio mi codigo


using System.Net.Mail;





MailMessage correo = new MailMessage();

correo.From = new MailAddress("[email protected]");
correo.To.Add("[email protected]");
correo.Subject = "prueba";
correo.Body = "prueba";
correo.IsBodyHtml = true;
correo.Priority = MailPriority.Normal;

SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.UseDefaultCredentials = false;
smtp.Credentials=new
System.Net.NetworkCredential"[email protected]","p assword");
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
try
{
smtp.Send(correo);
lblmensaje.Text = "Mensaje enviado satisfactoriamente";
}
catch (Exception ex)
{
lblmensaje.Text = "Error: " + ex.Message;
}


Espero que me puedan ayudar y disculpen por ser tan especifico en el smtphost pero nesesito saber que estoy haciendo mal.

Atte.

Roberto Vega.
  #13 (permalink)  
Antiguo 21/10/2009, 09:18
 
Fecha de Ingreso: septiembre-2005
Ubicación: Medellin
Mensajes: 215
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Pueden mandar correos con ASP.NET 2.0 ??

Hola, a mi también esta que me vuelve loco, pq es aun peor, no me saca ningun error, todo se ejecuta bien pero no llega nada, mi código es este:


Dim correo As New System.Net.Mail.MailMessage, Nombre As String = UCase(TxtNombre.Text & " " & TxtApellido.Text)
Dim Msg As String
Try
Msg = "<b>Mensaje desde la página Web - Biblioconsultas</b><br><br><br><br><b>" & Nombre & "</b><br><br>E-mail:</b> " & TxtEmail.Text & "<br><br>" & rblR.SelectedItem.Text & "<br><br><b>Titulo:</b> " & TxtTitLibro.Text & "<br><br><b>Autor: </b>" & TxtAutor.Text & "<br><br><b>Tema: </b>" & TxtTema.Text
correo.From = New System.Net.Mail.MailAddress(TxtEmail.Text, Nombre)
correo.To.Add("[email protected]")
correo.Subject = "Mensaje desde la página Web - Biblioconsultas"
correo.Body = Msg
correo.IsBodyHtml = True
correo.Priority = System.Net.Mail.MailPriority.Normal

Dim smtp As New System.Net.Mail.SmtpClient
smtp.Host = "servidorint.elinstituto.edu.co"
smtp.Port = 25

smtp.Credentials = New System.Net.NetworkCredential("usario", "clave")
smtp.Send(correo)
LblMsg.Text = "El mensaje se ha enviado exitosamente"
Catch ex As Exception
LblMsg.Text = ex.Message
End Try

si alguien me puede colaborar...si fuera problema de firewall me sacaría error? o debo confirmar que el puerto 25 no este bloqueado?
__________________
JU4N35
  #14 (permalink)  
Antiguo 21/10/2009, 11:49
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: Pueden mandar correos con ASP.NET 2.0 ??

Yo he tenido problemas con el firewall, ya sea del sistema o antivirus y me mandaba el error "El correo no se envio"

Seguro que no envía ningún error, has probado con un punto de interrupción y siguiendo el código línea a línea con F11?

Sino debes de comprobar el puerto, en esta web puedes saberlo:

www .upseros.com/portscan.php
  #15 (permalink)  
Antiguo 21/10/2009, 12:58
 
Fecha de Ingreso: septiembre-2005
Ubicación: Medellin
Mensajes: 215
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Pueden mandar correos con ASP.NET 2.0 ??

...a, ya lo solucioné...era algo en la configuración del SMTP y del ISA server...
__________________
JU4N35
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:29.