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

ALguien sabe usar el CDOSYS

Estas en el tema de ALguien sabe usar el CDOSYS en el foro de ASP Clásico en Foros del Web. Por favor alguien me puede ayudar a usar el CDO SYS por fin descubri que este es el componente que usa mi hosting.ç Gracias.......
  #1 (permalink)  
Antiguo 30/12/2003, 13:08
 
Fecha de Ingreso: octubre-2003
Ubicación: Lima
Mensajes: 319
Antigüedad: 21 años, 6 meses
Puntos: 2
ALguien sabe usar el CDOSYS

Por favor alguien me puede ayudar a usar el CDO SYS por fin descubri que este es el componente que usa mi hosting.ç

Gracias....
  #2 (permalink)  
Antiguo 01/01/2004, 11:06
 
Fecha de Ingreso: mayo-2003
Ubicación: Madrid
Mensajes: 21
Antigüedad: 21 años, 11 meses
Puntos: 0
Yo creo que si, lo he utilizado en algun momento. Es el objeto para exchange server??????????
  #3 (permalink)  
Antiguo 02/01/2004, 12:49
 
Fecha de Ingreso: octubre-2003
Ubicación: Lima
Mensajes: 319
Antigüedad: 21 años, 6 meses
Puntos: 2
CDOSYS es un objeto para el envio de mails es la nueva version de CDONTS o algo asi
  #4 (permalink)  
Antiguo 02/01/2004, 13:15
 
Fecha de Ingreso: mayo-2003
Ubicación: Madrid
Mensajes: 21
Antigüedad: 21 años, 11 meses
Puntos: 0
OK. Que necesitas saber?
He trabajado sobre ello a traves de ADSI, CDO y LDAP. Sobre todo para gestores de correo (listas de distribución etc). Aunque lo he trabajado sobre mi servidor corporativo, como Administrador, imagino que algo te podré ayudar.
Dime cuál es tu problema, y lo resolvemos aqui en el foro, para que TODO el mundo pueda resolver asimismo sus dudas

Solo una cuestion, conmigo hay que tener paciencia... Dispongo por suerte o por desgracia de poco tiempo...
  #5 (permalink)  
Antiguo 02/01/2004, 18:02
 
Fecha de Ingreso: octubre-2003
Ubicación: Lima
Mensajes: 319
Antigüedad: 21 años, 6 meses
Puntos: 2
Ok. primero gracias...soy novato en este tema, puse a funcionar el siguiente codigo pero me gustaria que me ayudes explicando algunas lineas del codigo sobre todo esto:

oConf.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.sudsolteros.com"
oConf.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
oConf.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
oConf.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60

oConf.Fields.Update
'Update the CDOSYS Configuration
Set oMail.Configuration = oConf


Y numero dos como es el tratamiento de errores ? si no se udo enviar el mail por algun motivo como le digo al usuario que tuvo un error?


Ahi les va el codigo completo para que lo usen:


<%
Dim sDestintatario, sAsunto, sCuerpo
Dim oMail 'el objeto CDO
dim oConf
dim sDe

sAsunto="E-Mail de prueba desde ASP"

'Creamos el cuerpo con varias líneas para facilitar la lectura
Set oMail = Server.CreateObject("CDO.Message")
Set oConf = Server.CreateObject ("CDO.Configuration")

'Out going SMTP server
oConf.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.sudsolteros.com"
oConf.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
oConf.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
oConf.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60

oConf.Fields.Update
'Update the CDOSYS Configuration
Set oMail.Configuration = oConf

sDe = request("txt_email")
sAsunto = request("txt_asunto")
sCuerpo = request("txt_cuerpo")

oMail.From = sDe
oMail.To = "[email protected]"
oMail.Subject = sAsunto
oMail.HTMLBody = sCuerpo

oMail.Send

response.write("su mail se envio")

Set oMail = Nothing
Set oConf = Nothing
  #6 (permalink)  
Antiguo 02/01/2004, 18:36
 
Fecha de Ingreso: mayo-2003
Ubicación: Madrid
Mensajes: 21
Antigüedad: 21 años, 11 meses
Puntos: 0
Cuando sendusing = 2 (es decir direccionamiento del servidor de correo a través de internet- No a traves de nuestra red local), hemos de enseñarle al objeto cdo (conf) a direccionarse al servidor que queremos almacene nuestros mensajes... el puerto el timeout...
En principio el campo hace referencia al servidor que vas a usar como servidor de correo, como bien dice el smtpserver. No hay mucho más que explicar, simplemente, al schema del objecto CDO.Configuration le enseñas los parámetros que crees que requiere para su funcionamietno correcto, servidor,puerto... etc.
Insisto en que estos valores son necesarios exponerselos al objeto cuando el sendusing = 2 (cdoSendUsingPort)

En el segundo punto. Yo normalmente cuando tengo un mensaje que no es enviado, me retorna al postmaster que tenga definido en el sistema. en mi servidor corporativo es postmaster y administrador, en el peor de los casos, pero normalmente me retorna a la direccion de correo de quien envia dicho mensaje. ENtiendes?

En principio el tema de reenvio de correos automáticamente bien sea por error bien sea por cualquier otro motivo, hasta ahora, que yo sepa se hace con la programación work flow (Exchange 2000 y en principio, yo la tengo en mi servidor, pero insisto en que yo lo tengo en mi red local. No sabría decirte cómo utilizarlo remotamente.

Espero que te haya sido de ayuda.
Un saludo.
  #7 (permalink)  
Antiguo 11/02/2005, 01:40
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 23 años, 3 meses
Puntos: 3
he copiado el código exactamente y me sale el error en:
oMail.Send

xq ah?
tengo q instalar algo? tengo el XP SP1
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #8 (permalink)  
Antiguo 19/08/2005, 23:59
 
Fecha de Ingreso: octubre-2004
Mensajes: 2
Antigüedad: 20 años, 6 meses
Puntos: 0
Ejemplo con CDOSYS

Les mando este ejemplo, a mi me funciono pero tuve que hacerle modificaciones, espero les sea de utilidad, doy alguna explicación en el mismo esperando no les entorpesca la lectura del codigo, por lo mismo les pediria que lo seleccionaran y lo copiaran a un editor de texto para poder ver separadas las lineas de codigo y las de comentarios.

<%
DIM corpoMessaggio, numeroCampi, invioA, invioDa, nomeDominio, indirizzoIp, modulo, browserSistemaOperativo

invioA = "[email protected]" 'Direccion de correo con que se esta accesando al SMTP (debe ser una direccion valida).

invioDa = "[email protected]" 'Direccion de correo a enviar el mail.

'------------final de las modificaciones necesarias------------------

nomeDominio = Request.ServerVariables("HTTP_HOST")
indirizzoIp = Request.ServerVariables("REMOTE_ADDR")
modulo = Request.ServerVariables("HTTP_REFERER")
browserSistemaOperativo = Request.ServerVariables("HTTP_USER_AGENT")


'* creo los objetos cdosys en el servidor y los gestiono
DIM iMsg, Flds, iConf

Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields

Flds(cdoSendUsingMethod) = cdoSendUsingPort
Flds(cdoSMTPServer) = "smtp.tuodominio.ext" 'Aqui se pone el nombre del dominio smtp del servidor de correo
'Cabe mencionar que se debe tener un software de servidor de correo o se debe usar un smtp que tenga el software para enviar el correo
'el windows 2000 server y xp profesional no traen un servidor de correo solo te permiten hacer la salida
'a un servidor de correo como pudiere ser "smtp.prodigy.net.mx", a menos que en su mismo servidor de trabajo
'tengan uno pueden poner su nombre.
Flds(cdoSMTPServerPort) = 25
Flds(cdoSMTPAuthenticate) = cdoBasic 'En los siguientes campos se indica que la autenticación sera por ID y clave
Flds(cdoSendUserName) = "[email protected]" 'Aqui se debe poner el ID de usuario con que se accesar al servidor de correo
'previamente asignado en el campo del SMTP (recuerde debe ser una direccion valida para el servidor de correos).
Flds(cdoSendPassword) = "TuaPassword" 'Aqui por supuesto va la clave de acceso del id de usuario
'Es preferible que se use de esta manera a menos de que su servidor de correo no requiera
'autenticación por medio de ID y contraseña, en este caso sí se usa un servidor por
'ejemplo smtp.prodigy.net.mx (ISP de prodigy), se debe poner su dirección completa de correo
'y su clave para accesar a su correo como comunmente lo haria al quere revisar su correo.
Flds.Update

With iMsg
Set .Configuration = iConf
.To = invioA 'Aqui va una dirección de correo valida por el servidor de correo, de preferencia se usa con la que se acceso.
'en los campos anteriores UserName y Password.
.From = Request.Form("email") 'Aqui se pone la dirección de correo a donde se desea enviar el mail.
'.Sender = invioDa 'Este se usa para enviar el mail a esa direccion es posible que les de problemas a mi no me funciono y lo quite.
.Subject = "Contacto desde el dominio" & nomeDominio
.TextBody = "Siguen los datos introducidos en el módulo que se encuentra a la pagína" & modulo & " por usuario con dirección IP " & indirizzoIp & " navegador y sistema operativo" & browserSistemaOperativo & vbCrLf & " End"

.Send 'Por fin se envia el mensaje.
End With
%>

Este ejemplo lo saque de un sitio que explicaba las librerias dll a usar para mandar mensajes y lo modifique para que me funcionara
por respeto al creador del ejemplo pongo el url http://vademecum.aruba.it/start/cont...ontatto_es.htm
pero tambien agrego que no es tan explicito como uno desearia, ya que me desespere muchisimo al
tratar de hacer que funcionara, eso sin mencionar todos los ejemplos que probe de otros sitios y que ninguno explica
el como hacerlo, ya que como lo mencione con anterioridad el Windows 2000 Server y el Windows
XP profesional (que solo se puede tener el CDOSYS si se instala el outlook de office) permiten la salida
por el puerto 25 pero no estan habilitados para poder enviar el correo por si solos, requieren del software
de servidor de correo, en este caso logre que funcionara direccionando el "Flds(cdoSMTPServer)" al nombre del servidor de correos de la empresa
en que trabajo y asi fue como logre que se pudieran enviar mails con el CDOSYS.

Por otra parte debo recordar que no cambie la configuracion de mi SMTP del IIS, deje la que me puso
por default, en caso de que no les funcione el ejemplo, les recomiendo que revisen la configuración del SMTP
de su IIS (entrar al IIS y expandir para ver la seccion servidor virtual SMTP)en este caso algo muy comun es
que en la configuracion de su SMTP en la pestaña de "entrega", en el boton "advanzada", el nombre del dominio
no conincida con el nombre de su maquina (debe ser el mismo nombre), y en el "host inteligente" se agregara el
nombre del servidor que asignen en la variable "Flds(cdoSMTPServer)" del ejemplo anterior.

Espero les sea de utilidad ya que por fin logre que se enviaran mails y tambien espero que mi explicacion logre que
comprendan como se debe usar el CDOSYS.

TecnoHill Systems
  #9 (permalink)  
Antiguo 20/08/2005, 07:52
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 20 años
Puntos: 9
En la libreria de clases y funciones hay un función de El_Metallick en donde podés seleccionar que componente usar. Esta muy bueno, y hasta los que he probado, todos funcionan correctamente.
__________________
Add, never Remove
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:26.