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

correo mail

Estas en el tema de correo mail en el foro de ASPX (.net) en Foros del Web. Buenas, acabo de empezar con asp.net y el caso es que tengo una web totalmente estática donde quiero crear un formulario cuyo contenido se mande ...
  #1 (permalink)  
Antiguo 19/03/2007, 10:57
 
Fecha de Ingreso: marzo-2007
Mensajes: 55
Antigüedad: 17 años, 9 meses
Puntos: 0
correo mail

Buenas,
acabo de empezar con asp.net y el caso es que tengo una web totalmente estática donde quiero crear un formulario cuyo contenido se mande a mi cuenta de correo (gmail). Me acabo de instalar el visual studio 2005 y estaba probando algun código en local, pero tengo problemas con alguna httpexception por el transporte al servidor... ¿Tengo que instalar algo adicional? ya he puesto en dicho codigo la direccion de correo y el server smtp pero sigue el problema ¿Alguien sabe qué ocurre? Muchas gracias.
  #2 (permalink)  
Antiguo 20/03/2007, 03:40
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 20 años
Puntos: 9
Re: correo mail

Cita:
Iniciado por luis.decolores Ver Mensaje
...pero tengo problemas con alguna httpexception por el transporte al servidor... ¿Tengo que instalar algo adicional? ya he puesto en dicho codigo la direccion de correo y el server smtp pero sigue el problema ¿Alguien sabe qué ocurre?
Para poderte ayudar mejor, podrías poner el código que usas para el envío del correo y así vemos qué puede ser..
Un saludo.
__________________
..:: moNTeZIon ::..

Última edición por moNTeZIon; 20/03/2007 a las 03:48
  #3 (permalink)  
Antiguo 20/03/2007, 06:44
 
Fecha de Ingreso: marzo-2007
Mensajes: 55
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: correo mail

basicamente es esto:

<%@ Page Language="VB" Debug="true" %>
<% @Import Namespace="System.Web.Mail" %>
<script language="vb" runat="server">

Sub Send2Mail (sender as Object, e as EventArgs)

Dim objMail as New MailMessage()

objMail.To = "[email protected]"
objMail.From = strEmail.Text

objMail.BodyFormat = MailFormat.Text
objMail.Priority = MailPriority.Normal
objMail.Subject = strSubject.Text

objMail.Body = "Name : " + strName.Text + vbNewLine + "Email : " + strEmail.text + vbnewLine + "Message : " + strYourMsg.text

SmtpMail.SmtpServer = "mail.smtp.gmail.com"
SmtpMail.Send(objMail)


strMessage.Visible = true

End Sub

</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "hxxp://xxx.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="hxxp://xxx.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>How to send email</title>
</head>
<body>

<asp:panel id="strMessage" runat="server" Visible="False">
Thanks for your kind message ... </asp:panel>

<form id="Form1" runat="server">
<b>First Name:</b> <br/>
<asp:textbox id="strName" runat="server" />
<br><br>

<b>Email Address:</b><br/>
<asp:textbox id="strEmail" runat="server" />
<br><br>

<b>Subject:</b><br/>
<asp:textbox id="strSubject" runat="server" />
<br><br>

<b>Your Message</b><br/>
<asp:textbox id="strYourMsg" runat="server" Columns="45" Rows="10" TextMode="MultiLine" />
<br />
<asp:button runat="server" id="func" Text="Send Message"
OnClick="Send2Mail" />
</form>
</body>
</html>
  #4 (permalink)  
Antiguo 20/03/2007, 09:28
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 20 años
Puntos: 9
Re: correo mail

Hola Luis,
yo tengo una cuenta de gmail configurada en mi outlook, y te puedo decir que el sevidor de salida SMTP no es "mail.smtp.gmail.com" , sino "smtp.gmail.com".
Imagino que es uno de los problemas, a no ser que me asegures que ese es el que debes usar en tu aplicación, en tal caso, no he dicho nada.
Continuando, en el caso que se trate de Gmail, no se si podrás utilizarlo para mandar correos desde tu aplicación, pero lo que es seguro, es que el servidor de salida requiere autenticación. Esto es que necesita unas credenciales para contrastar con una cuenta existente en el servidor, que tenga permisos para enviar correos. Yo estos datos los tengo en el web.config, de forma que si cambian, solo debo cambiarlos en el web.config
Por lo que comentabas de si requiere algun componente el envío de correos, la respuesta es que si lo haces a través de las clases de .Net, ese componente sería el Framework, que por supuesto tendrás ya instalado en tu servidor para poder correr aplicaciones ASP.NET
Un saludo.
__________________
..:: moNTeZIon ::..
  #5 (permalink)  
Antiguo 20/03/2007, 13:30
 
Fecha de Ingreso: marzo-2007
Mensajes: 55
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: correo mail

Hola,
muchas gracias, me imaginaba que era simplemente smtp.gmail.com aunque poniendolo no funciona y me da la httpexception. No entiendo bien, mi idea es que la sugerencia del formulario se me envie a la cuenta que he puesto en el código, que es la mia personal, entonces lo unico es que tendria que meter mi contraseña en el objeto mail para que se mande no? o como podría poner los dos parámetros en el web.config? muchas gracias.
  #6 (permalink)  
Antiguo 20/03/2007, 16:07
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 20 años
Puntos: 9
Re: correo mail

Veo que usas la clase system.web.mail. Estás con una versión anterior de Net 2.0
Tengo a mano el ejemplo usando la clase system.net.mail, que es la que se utiliza en 2.0
En el web.config
Código:
<configuration>
  <system.net>
    <mailSettings>
      <smtp deliveryMethod="Network">
        <network
          host="mail.pepe.com"
          port="25"
          defaultCredentials="false"
          userName="[email protected]"
          password="pepe" />
      </smtp>
    </mailSettings>
  </system.net>
  <system.web>
    [...]
  </system.web>
  [...]
</configuration>
En el code:
Código:
Dim objMail As New Net.Mail.MailMessage
objMail.From = New Net.Mail.MailAddress("[email protected]", "Pepe")
objMail.To.Add(New Net.Mail.MailAddress(txtEmail.text))
objMail.Subject = "Asunto"
objMail.Body = "Mensaje"
objMail.IsBodyHtml = True
Dim objServer As New System.Net.Mail.SmtpClient
objServer.Send(objMail)
Tendrás que ver las particularidades para otra versión distinta de .Net , pero esta es la idea.
Un saludo.
__________________
..:: moNTeZIon ::..
  #7 (permalink)  
Antiguo 22/03/2007, 02:58
 
Fecha de Ingreso: marzo-2007
Mensajes: 55
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: correo mail

Buenas, lo he intentado pero me da el siguiente error: "BC30188: Se esperaba una declaración." en la linea "objMail.From = New Net.Mail.MailAddress("[email protected]", "luis.decolores")" Perdon por ser tan paquete pero estoy empezando y no se que puede pasar en algo que parece tan básico... GRacias otra vez...
  #8 (permalink)  
Antiguo 22/03/2007, 04:01
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 20 años
Puntos: 9
Re: correo mail

Lo que ocurre, básicamente, es esto:
Cita:
Iniciado por moNTeZIon Ver Mensaje
Veo que usas la clase system.web.mail. Estás con una versión anterior de Net 2.0
Tengo a mano el ejemplo usando la clase system.net.mail, que es la que se utiliza en 2.0
Tendrás que ver las particularidades para otra versión distinta de .Net , pero esta es la idea.
Con qué versión de ASP.NET estás trabajando?
__________________
..:: moNTeZIon ::..
  #9 (permalink)  
Antiguo 22/03/2007, 04:06
 
Fecha de Ingreso: marzo-2007
Mensajes: 55
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: correo mail

hola, he utilizado tu ejemplo con la clase que me dices y es cuando me pasa el error este de compilacion, que yo sepa estoy con el visual studio 2.0.5xxx...
  #10 (permalink)  
Antiguo 22/03/2007, 04:26
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 20 años
Puntos: 9
Re: correo mail

De acuerdo.
Entonces imagino que debes estar con Framework 2.0.50727 y Visual Studio 2005. Si es así, y has probado el code que puse más arriba...
En qué linea tienes el error, y qué error obtienes exactamente?
Estamos hablando de errores de ejecución, verdad? O ya te marca alguna linea como error antes de ejecutar?
__________________
..:: moNTeZIon ::..
  #11 (permalink)  
Antiguo 22/03/2007, 04:40
 
Fecha de Ingreso: marzo-2007
Mensajes: 55
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: correo mail

Cita:
Iniciado por luis.decolores Ver Mensaje
Buenas, lo he intentado pero me da el siguiente error: "BC30188: Se esperaba una declaración." en la linea "objMail.From = New Net.Mail.MailAddress("[email protected]", "luis.decolores")"
Esto es lo que me sale en un error de compilacion cuando le doy al "play" me dice que hay build errors y que si quiere que continue, yo le digo que si, y aparece esto en una ventana del explorer que salta...
  #12 (permalink)  
Antiguo 22/03/2007, 09:20
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 20 años
Puntos: 9
Re: correo mail

mmm...
Esa linea que muestras está bien.
Todo depende de como sea el resto del código, porqué ya te digo, esa linea no tiene ningún secreto.
Pon todo el código que usas para mandar el mail, tal cual lo tienes ahora, y así vemos.
Pero... antes de ejecutar (antes de darle al play), no te subraya ninguna línea el Visual Studio como errónea? Solo puedes ver el error una vez le das al play??
Un saludo.
__________________
..:: moNTeZIon ::..
  #13 (permalink)  
Antiguo 22/03/2007, 10:47
 
Fecha de Ingreso: marzo-2007
Mensajes: 55
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: correo mail

<%@ Page Language="VB" Debug="true" %>
<% @Import Namespace="System.Net.Mail" %>
<script language="vb" runat="server">

Dim objMail As New Net.Mail.MailMessage
objMail.From = New Net.Mail.MailAddress("[email protected]", "luis.decolores")
objMail.To.Add(New Net.Mail.MailAddress("hola"))
objMail.Subject = "Asunto"
objMail.Body = "Mensaje"
objMail.IsBodyHtml = True
Dim objServer As New System.Net.Mail.SmtpClient
objServer.Send(objMail)

</script>


es en la ultima etiqueta, </script> donde me pone "Error 1 Validation (): Element 'html' occurs too few times."
Luego me da errores de "se esperaba una declaracion" por cada vez que intento precisamente eso, hacer una declaracion de una variable...
  #14 (permalink)  
Antiguo 22/03/2007, 11:02
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 20 años
Puntos: 9
Re: correo mail

Vaya! Este error es nuevo!
Mira luis, creo que los errores te vienen por otro lado, y no por el tema de enviar el correo.
No sé cuantas vueltas le habrás dado a esa página. Te recomiendo que empieces de nuevo, con una página en blanco, y vayas pasito a pasito. Entonces vas comentando los problemas que te vayan surgiendo, a ver si así lo vamos solucionando.
Pero ya te digo que, por lo que comentas, creo que tienes más de un problema, y no simplemente algún error al enviar el correo, y de ahí que te vengan más problemas.
Saludos, y por aqui andamos..
__________________
..:: moNTeZIon ::..
  #15 (permalink)  
Antiguo 22/03/2007, 11:27
 
Fecha de Ingreso: marzo-2007
Mensajes: 55
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: correo mail

Bueno, de todas formas muchísimas gracias por todo, la verdad ¡qué paciencia! Volveré a empezar con todo nuevo...
  #16 (permalink)  
Antiguo 28/03/2007, 13:17
 
Fecha de Ingreso: marzo-2007
Mensajes: 1
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: correo mail

Podría parecer algo sin sentido, pero yo tenía el mismo problema del error "Se esperaba una declaracion"

Lo que hice, fue cambiar las etiquetas:

<script language="vb" runat="server">
</script>

por las tipicas:

<%

%>

Al código fuente no le moví nada. Solo las etiquetas de inicio y fin de código de servidor. Y con eso funcionó.

Espero que sirva.
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 03:09.