Por favor alguien me puede ayudar a usar el CDO SYS por fin descubri que este es el componente que usa mi hosting.ç
Gracias....
| |||
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... |
| |||
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 |
| |||
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. |
| |||
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 |
| |||
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 |