Ver Mensaje Individual
  #8 (permalink)  
Antiguo 19/08/2005, 23:59
guillermoth
 
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