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

Recepción de mails con CDONTS

Estas en el tema de Recepción de mails con CDONTS en el foro de ASP Clásico en Foros del Web. Estoy intentando recibir emails a través de CDONTS con el siguiente código: set correo=server.CreateObject("CDONTS.Session") correo.logonSMTP "ejemplo","[email protected]" set bandeja=correo.inbox set mensajes=bandeja.messages for k=0 to mensajes.count set ...
  #1 (permalink)  
Antiguo 22/06/2004, 10:02
Avatar de mruiz  
Fecha de Ingreso: septiembre-2001
Ubicación: Reykjavík
Mensajes: 138
Antigüedad: 22 años, 9 meses
Puntos: 0
Recepción de mails con CDONTS

Estoy intentando recibir emails a través de CDONTS con el siguiente código:

set correo=server.CreateObject("CDONTS.Session")
correo.logonSMTP "ejemplo","[email protected]"
set bandeja=correo.inbox
set mensajes=bandeja.messages
for k=0 to mensajes.count
set elmensaje=mensajes.item(k)
Response.Write "Desde: " & elmensaje.sender & "<br>"
Response.Write "Asunto: " & elmensaje.subject & "<br>"
Response.Write elmensaje.text & "<br>"
Response.end
next
correo.logoff
set correo=nothing


El problema es que no sé cómo funciona y me da errores y en el count me indica que no hay mensajes.

Espero que me podáis ayudar.

Gracias.
  #2 (permalink)  
Antiguo 22/06/2004, 10:16
Avatar de umdraiga  
Fecha de Ingreso: diciembre-2001
Ubicación: Aragón España
Mensajes: 128
Antigüedad: 22 años, 5 meses
Puntos: 0
A mí me funciona así:
set correo=Server.CreateObject("CDONTS.NewMail")
correo.From ="[email protected]" --correo que envía el formulario
correo.To = "[email protected]" --- correo donde se reciben el formulario
correo.Subject="Formulario "
correo.Body= wTexto
correo.mailFormat = 0
correo.Send
set correo= Nothing
Response.Write "Gracias por rellenar el Formulario. "
__________________
http://www.umdraiga.com
Una causa justa :arriba:
  #3 (permalink)  
Antiguo 22/06/2004, 10:21
Avatar de mruiz  
Fecha de Ingreso: septiembre-2001
Ubicación: Reykjavík
Mensajes: 138
Antigüedad: 22 años, 9 meses
Puntos: 0
Sí pero lo que pones tú es el código para enviar mails no para recibir.

En el envío no tengo ningún problema. Es en la recepción.
  #4 (permalink)  
Antiguo 22/06/2004, 11:28
Avatar de mruiz  
Fecha de Ingreso: septiembre-2001
Ubicación: Reykjavík
Mensajes: 138
Antigüedad: 22 años, 9 meses
Puntos: 0
Veo que es difícil la pregunta....

Por favor si alguien sabe algo....
  #5 (permalink)  
Antiguo 23/06/2004, 10:31
Avatar de mruiz  
Fecha de Ingreso: septiembre-2001
Ubicación: Reykjavík
Mensajes: 138
Antigüedad: 22 años, 9 meses
Puntos: 0
Es muy urgente, nadie tiene información????
  #6 (permalink)  
Antiguo 24/06/2004, 07:30
Usuario no validado
 
Fecha de Ingreso: junio-2004
Mensajes: 37
Antigüedad: 20 años
Puntos: 1
Donde se ubica ese codigo?
  #7 (permalink)  
Antiguo 24/06/2004, 08:07
Avatar de chaval  
Fecha de Ingreso: febrero-2003
Ubicación: en elgun lugar del cyberespacio
Mensajes: 118
Antigüedad: 21 años, 4 meses
Puntos: 0
Primero fijate si el host donde estas soporta CDONTS

Aca te paso uno explicado que funciona a la perfeccion

No soy un experto en ASP, alguie lo podra explicar mejor, pero este script lee 3 variables (name, email y message) de tu formulario y las transcribe al cuerpo del mensaje.
vbcrlf es para que haga un salto de linea (creo que CHR13 o algo asi funciona igual).
myMail.BodyFormat=1 y myMail.MailFormat=1 es para que envie un mail en texto plano en caso de querer usar html cambias 1 por 0 en ambos casos.
En vian 3 mails con copia y copia oculta y por ultimo manda un mensaje de agradecimiento.

Espero que te sirva.
suerte
El Chaval

Código PHP:
<% @language="VBSCRIPT" %> 
<%

Dim myMailmyBody
 
myBody 
"Nombre: "request.form("name") & vbcrlf
myBody 
myBody "Email: "request.form("email") & vbcrlf
myBody 
myBody "Mensaje: "vbcrlf request.form("message")

Set myMail CreateObject("CDONTS.NewMail")

myMail.BodyFormat=1
myMail
.MailFormat=1
myMail
.From=request.form("email")
myMail.To="[email protected]"
myMail.Cc="[email protected]"
myMail.Bcc="[email protected]"
myMail.Subject="Titulo del Mail"
myMail.Body=myBody
myMail
.Send

set myMail
=nothing

%>

<
html>
<
title>mail</title>
<
head>
<!--
THIS BIT SENDS VISITOR BACK TO gracias.htm AFTER 3 SECONDS-->
<
meta http-equiv="refresh" content="3;URL=gracias.htm">
</
head>

<!--
THIS BIT SAYS THANKS AND HAS A MANUAL LINK BACK TO gracias.htm-->
<
body bgcolor="#FFFFFF" text="#000066" link="#0000CC" vlink="#0000CC" alink="#0000CC">
<
div align="center">
<
p><font face="Verdana" size="2" color="#000080"> <font face="Arial, Helvetica, sans-serif" size="4"><b>Graciaspronto será contactado.</b></font></font></p>
<
p><b><font face="Arial, Helvetica, sans-serif" size="4" color="#000080">To 
Return To Flash Page</font></b></p>
<
p><b><font face="Arial, Helvetica, sans-serif" size="4" color="#000080"><a href="gracias.htm">Click 
Here
</a> </font></b> </p>
</
div>
</
body>
</
html
Este es un ejemplo enviando el mail pero con formato, modifique cosas con ideas que me dieron en el foro, y como no se mucho de ASP (nada en realidad) supongo que se puede optimizar:
Código PHP:
<% @language="VBSCRIPT" %> 
<%

Dim myMailmyBody

myBody 
"<table width='400' border='1'>"

myBody myBody "<tr>"
myBody myBody "<td>"
myBody myBody "Nombre: "
myBody myBody "</td>"
myBody myBody "</tr>"

myBody myBody "<tr>"
myBody myBody "<td>"
myBody myBody request.form("nombre")
myBody myBody "</td>"
myBody myBody "</tr>"

myBody myBody "<tr>"
myBody myBody "<td>"
myBody myBody "Email: "
myBody myBody "</td>"
myBody myBody "</tr>"

myBody myBody "<tr>"
myBody myBody "<td>"
myBody myBody request.form("email")
myBody myBody "</td>"
myBody myBody "</tr>"

myBody myBody "<tr>"
myBody myBody "<td>"
myBody myBody "Empresa: "
myBody myBody "</td>"
myBody myBody "</tr>"

myBody myBody "<tr>"
myBody myBody "<td>"
myBody myBody request.form("empresa")
myBody myBody "</td>"
myBody myBody "</tr>"

myBody myBody "<tr>"
myBody myBody "<td>"
myBody myBody "Mensaje: "
myBody myBody "</td>"
myBody myBody "</tr>"

myBody myBody "<tr>"
myBody myBody "<td>"
myBody myBody request.form("mensaje")
myBody myBody "</td>"
myBody myBody "</tr>"

myBody myBody "</table>"

Set myMail CreateObject("CDONTS.NewMail")

myMail.BodyFormat=0
myMail
.MailFormat=0
myMail
.From=request.form("email")
myMail.To="[email protected]"
myMail.Cc="[email protected]"
myMail.Bcc="[email protected]"
myMail.Subject="Form desde mi WEB"
myMail.Body=myBody
myMail
.Send

set myMail
=nothing

%> 
pd: yo explicando ASP, eso si que es todo un logro :D
__________________
CHAVAL
Buenos Aires, Argentina, América, La Tierra,
Via Lactea, Universo Tridemensional... :pensando:

Última edición por chaval; 24/06/2004 a las 08:11
  #8 (permalink)  
Antiguo 24/06/2004, 09:51
Avatar de mruiz  
Fecha de Ingreso: septiembre-2001
Ubicación: Reykjavík
Mensajes: 138
Antigüedad: 22 años, 9 meses
Puntos: 0
Vamos a ver, si la emisión funciona perfectamente, es la recepción lo que no me funciona por más que lo intento.
  #9 (permalink)  
Antiguo 24/06/2004, 10:13
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
No sabía que se podían recibir emails con CDONTS. Tenés a mano algún enlace para documentarme mejor?
  #10 (permalink)  
Antiguo 24/06/2004, 10:14
Avatar de mruiz  
Fecha de Ingreso: septiembre-2001
Ubicación: Reykjavík
Mensajes: 138
Antigüedad: 22 años, 9 meses
Puntos: 0
Pues no, el código lo pillé de una página que creo recordar que era aspfacil.com pero no recuerdo.
  #11 (permalink)  
Antiguo 24/06/2004, 10:17
Avatar de LeCLUB  
Fecha de Ingreso: abril-2003
Ubicación: Barcelona (España)
Mensajes: 205
Antigüedad: 21 años, 1 mes
Puntos: 1
mruiz, no me he mirado la documentación del CDONTS, pero por lo que veo estás uytilizando para conectarte al servidor de correo saliente SMTP:

correo.logonSMTP

no dberías de utilizar el POP3 para "leer" los mensajes ?


MENSAJE EDITADO
==============

mruiz, si, lo estás haciendo bien, he mirado la documentación y parece a primera vusta que lo tienes bien escrito.

Podrías poner los errores que te salen ?
__________________
Documentación de VBScript V5.6 en Español:
http://download.microsoft.com/downlo...ES/scd56es.exe

Última edición por LeCLUB; 24/06/2004 a las 10:25
  #12 (permalink)  
Antiguo 24/06/2004, 10:21
Avatar de mruiz  
Fecha de Ingreso: septiembre-2001
Ubicación: Reykjavík
Mensajes: 138
Antigüedad: 22 años, 9 meses
Puntos: 0
Pués sí pero según la documentación de MSDN se puede recibir a través de la carpeta DROP pero no sé cómo configurar el IIS ni siquiera si es así exactamente o no.

He encontrado el enlace del que pillé el código: http://programacion.com/asp/articulo/cdonts

Gracias por tu interés.
  #13 (permalink)  
Antiguo 24/06/2004, 16:38
Avatar de LeCLUB  
Fecha de Ingreso: abril-2003
Ubicación: Barcelona (España)
Mensajes: 205
Antigüedad: 21 años, 1 mes
Puntos: 1
PEro podrías poner lso mensajes de error ? xDDD
__________________
Documentación de VBScript V5.6 en Español:
http://download.microsoft.com/downlo...ES/scd56es.exe
  #14 (permalink)  
Antiguo 28/06/2004, 02:15
Avatar de mruiz  
Fecha de Ingreso: septiembre-2001
Ubicación: Reykjavík
Mensajes: 138
Antigüedad: 22 años, 9 meses
Puntos: 0
Pues es que no da mensajes de error, simplemente me dice que no hay mensajes.
Además no sé cómo hacer que el IIS reciba los emails ya que según la documentación los recibe en la carpeta DROP pero no recibe ninguno.
Si pego directamente un mensaje en esta carpeta tampoco me reconoce que haya recibido ningún mail.
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 20:08.