Foros del Web » Programando para Internet » ASP Clásico »

Duda con envio de email mediante ASP (Cdonts)

Estas en el tema de Duda con envio de email mediante ASP (Cdonts) en el foro de ASP Clásico en Foros del Web. Que tal Gente de este foro, queria consultarles el siguiente mensaje que tome de aqui mismo de foros del web, con referencia a l envio ...
  #1 (permalink)  
Antiguo 05/06/2005, 00:15
Avatar de JoeMx  
Fecha de Ingreso: febrero-2003
Ubicación: A Km de Aquí.
Mensajes: 1.154
Antigüedad: 21 años, 4 meses
Puntos: 4
Duda con envio de email mediante ASP (Cdonts)

Que tal Gente de este foro, queria consultarles el siguiente mensaje que tome de aqui mismo de foros del web, con referencia a l envio de un formulario mediante Cdonts, lo estuve probando, pero no me llega la info al buzon de email, es decir el form se envia pero en blanco, es decir no lee los datos del form, alguien por favor puede darme una mano del porque no se estan leyendo los datos del form?
Gracias de antemano.

Este es el codigo del archivo que realiza el envio y lee los datos del form.

----------------------------------------------------
<%

Dim strAsunto
Dim strMensaje
Dim objCDOMail 'El objecto CDO

'Primero leemos los datos del formulario y los asignamos a las variables

strAsunto = Request.Form("tit")
strMensaje = Request.Form("pre")

'Creamos una instancia del objeto NewMail
Set objCDOMail = Server.CreateObject("CDONTS.NewMail")

'Asignamos las propiedades al objeto
objCDOMail.From = "[email protected]"
objCDOMail.To = "[email protected]"
objCDOMail.Subject = strAsunto
objCDOMail.Body = strMensaje

'Existen otras propiedades del objeto
'Se puede enviar HTML, Adjuntar archivos, etc..
'Tambien se pueden modificar otros aspectos del mensaje
'como importancia, encabezados personalizados.......
'he aqui algunos de los mas importantes:
'objCDOMail.Cc = "[email protected];[email protected]" Notese que se esta enviando a mas de una persona
'objCDOMail.Bcc = "[email protected];[email protected]"
'objCDOMail.Importance = 1 '(0=Low, 1=Normal, 2=High) Importancia
'objCDOMail.AttachFile "c:\path\archivo.txt", "Archivo.txt" Archivo Adjunto


'Finalmente enviamos el mensaje
objCDOMail.Send

'Tenemos que poner la propiedad Nothing al objeto ya que inmediatamente se vuelve invalido
'y libera la memoria del servidor
Set objCDOMail= Nothing
%>

----------------------------------------------------


Pienso que el error esta en
strAsunto = Request.Form("tit")
strMensaje = Request.Form("pre")
Pero no entiendo muy bien a que hace referencia estas variables que segun aparecen en este ejemplo.
__________________
"Si lo piensas, es porque si lo puedes hacer"
  #2 (permalink)  
Antiguo 05/06/2005, 00:23
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
es una pregunta tonta, pero la página anterior al envío del email tiene un formulario con una campo llamado "pre" y otro "tit", no?

es que todo parece estar bien y lo único que se me ocurre es eso....
  #3 (permalink)  
Antiguo 05/06/2005, 19:50
Avatar de Slot  
Fecha de Ingreso: marzo-2005
Mensajes: 39
Antigüedad: 19 años, 2 meses
Puntos: 0
Hola!
Perdonar por meterme en medio, pero a mi me pasa lo mismo, tengo un formulario de encuesta en el cual la gente los rellena pero lo manda por mailito y la verda no llegan todos y ahora estoy probando con esto y tengo el mismo problema solo me menda el correo pero no el formulario :
Este es al mail.asp llamado por el formulario:
<%
'Creamos el Objeto del mail.
Set Mail = Server.CreateObject ("CDONTS.Newmail")

'nuestra direccion de correo.
Mail.From = "[email protected]"

'direccion del destinatario.
Mail.To = "[email protected]"

'El asunto del mensaje a enviar.
Mail.Subject = "clasificaciones de asignaturas"

'Todo el texto que queremos mandar.
Mail.Body = "form"
asi lo pongo ya que en el name del formulario se llama así, he probado a cambiarlo dando otros nombres pero no ha funcionado me lo sigue mandando en blanco donde esta el error o que es lo que se hace mal ....ya he mirado de todo manuales faq normales, de las que se comen, amos de to, pero no encuentro nada donde lo espliquen, pues me da a pensar que es muy sencillo porque nadie lo esplica o es que soy muy cortito y no lo veo :-O
'Envio del mail....
Mail.Send
'Limpiamos el objeto.
Set Mail = Nothing
%>

Gracias por la paciencia
  #4 (permalink)  
Antiguo 05/06/2005, 20:00
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
y si pones
Mail.Body = request.form("form")
?

al primero del post, intenta poniendo
response.write tit
response.write pre

despues de
strAsunto = Request.Form("tit")
strMensaje = Request.Form("pre")

para saber si si traen informacion esos campos
  #5 (permalink)  
Antiguo 05/06/2005, 20:15
Avatar de Slot  
Fecha de Ingreso: marzo-2005
Mensajes: 39
Antigüedad: 19 años, 2 meses
Puntos: 0
Hola! buenas noches Sjam7, gracias por esa mano .

nada no me ha funcionado me llega en blanco, lo tengo asi en el formulario ;
<form action="/correo/mail.asp" method="post" enctype="text/plain" name="form" ...

no se si puede estar mal configurado para mandarlo así.
  #6 (permalink)  
Antiguo 05/06/2005, 20:20
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
lo que te comente es en la pagin del envio no en el formulario
  #7 (permalink)  
Antiguo 05/06/2005, 20:28
Avatar de Slot  
Fecha de Ingreso: marzo-2005
Mensajes: 39
Antigüedad: 19 años, 2 meses
Puntos: 0
si si , lo puese en la de envio
Mail.Body = "form"
lo cambie por :
Mail.Body = request.form("form")

he pensado que al estar el formulario en un ((<div id="formulario" ...... )) puera ser que no lo encontrara ..?
  #8 (permalink)  
Antiguo 05/06/2005, 20:46
Avatar de Slot  
Fecha de Ingreso: marzo-2005
Mensajes: 39
Antigüedad: 19 años, 2 meses
Puntos: 0
si dejo esto, mail.body = "form" lo que me manda en el correo escrito es ((... form..))
si pngo esto mail.body = request.form("form") no me escribe nada .

Por eso te comentaba que al estar el formulario en un div ....
((<div id="formulario" ...... y dentro esta el ...
<form action="/correo/mail.asp" method="post" enctype="text/plain" name="form" ...

a lo mejor no lo encontraba ... no se es una curiosidad , lo estoy probando a ver si es pero no creo ya no se me ocurren mas ideas toy seco vi a por un cafelillo pa despejarme ..
  #9 (permalink)  
Antiguo 06/06/2005, 02:19
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
Cita:
Iniciado por Slot
... y la verda no llegan todos ...
esto significa que alguno llega? si es así, el problema está en tu servidor SMTP. Aunque también podría pasar que no controles la forma en que te llegan los datos del formulario y te lies a mandar el mail a pelo. Date cuenta de que cdonts y cdosys lo único que exigen es que los campos que declares sean válidos.
  #10 (permalink)  
Antiguo 06/06/2005, 02:47
Avatar de Slot  
Fecha de Ingreso: marzo-2005
Mensajes: 39
Antigüedad: 19 años, 2 meses
Puntos: 0
Hay gente que me dice que no lo pueden mandar, yo lo he probado y la verda es un poco coñazo se te abre el Outlook, y hay gente que no lo utiliza porque no lo tiene configurado .....eso cuando pongo mailito:[email protected] .
Si lo pongo a traves de un asp ="/correo/mail.asp en toces manda el correo pero me llega en blanco no he encontrado nada donde lo espliquen bien, la idea era de cambiarlo porque parecia sencillo pero veo que no es tan sencillo como parece, si he conseguido que me llege uno relleno en el asunto y el detalle, de esta forma :

<%

Dim strAsunto
Dim strMensaje
Dim objCDOMail 'El objecto CDO

'Primero leemos los datos del formulario y los asignamos a las variables

strAsunto = Request.Form("tit") ' he creado un cambo que se llama tit y me lo muestra en el asunto
strMensaje = Request.Form("pre") ' y aquí he creado un campo que se llama pre y me lo muestra en mensaje ( pero si le pongo cualquiera del frmulario que tengo no llega, no lo entiendo ¿?

'Creamos una instancia del objeto NewMail
Set objCDOMail = Server.CreateObject("CDONTS.NewMail")

'Asignamos las propiedades al objeto
objCDOMail.From = "formularioEncuesta"
objCDOMail.To = "[email protected]"
objCDOMail.Subject = strAsunto
objCDOMail.Body = strMensaje
'Finalmente enviamos el mensaje
objCDOMail.Send

'Tenemos que poner la propiedad Nothing al objeto ya que inmediatamente se vuelve invalido
'y libera la memoria del servidor
Set objCDOMail= Nothing
response.Write "¡Formulario enviado!"
%>
  #11 (permalink)  
Antiguo 06/06/2005, 02:50
Avatar de Slot  
Fecha de Ingreso: marzo-2005
Mensajes: 39
Antigüedad: 19 años, 2 meses
Puntos: 0
estoy algo dormido , perdona por los trabalenguas :-O

lo que ya no se es lo de declarar, a ver si lo encuentro para leerlo
Gracias por la ayuda

Última edición por Slot; 06/06/2005 a las 03:03 Razón: op
  #12 (permalink)  
Antiguo 06/06/2005, 15:58
Avatar de JoeMx  
Fecha de Ingreso: febrero-2003
Ubicación: A Km de Aquí.
Mensajes: 1.154
Antigüedad: 21 años, 4 meses
Puntos: 4
Que tal gente ya lo resolvi, el asunto era que no habia especificado como era debido las variables y al momento de recoger los campos para crear el cuerpo (objCDOMail.Body = strMensaje )
del mensaje no habia separado correctamente con & para que llegaran los campos al email especificado.

Muchas Gracias
__________________
"Si lo piensas, es porque si lo puedes hacer"
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 18:56.