miércoles, 30 de marzo de 2011

Mandar correo usando asp clasico

Al mandar correo usando el sistema clasico de asp en servidores 2003/2008 con iis7 vemos que no funciona y siendo victimas de un error de configuracion.

en la configuracion de ii7 podemos configurar el servidor smtp para enviar correo. En mi caso, uso la opcion para autentificarme en el servidor smtp y poder enviar el correo.

El problema viene en nuestro antiguo codigo asp tenemos algo a si como:
Set correo=Server.CreateObject("CDONTS.NewMail")
y ya en esta linea obtenemos un error, como que no se puede crear el objeto y ya es cuando empezamos a acordarnos de microsoft y bill gates.
Pero es logico, no esta la dll que contiene todos los metodos para poder crear el objeto y enviar el correo.

Buscando encontramos CDOSYS, que esta si se encuentra en los nuevos servidores 2003/2008 iis7 y se llama cdosys.dll a si que ahora cambiamos a:
Set correo=Server.CreateObject("CDO.Message")
...
...
...
correo.Send
Si nos fijamos ahora si nos ha dejado crear el objeto. En la ultima linea obtenemos
un error en sendusing, como que no ha sido configurado. 
¿que raro? nos preguntamos, si tenemos configurado el servidor smtp del iis7.
Resulta que el servidor smtp es para asp.net, nada que ver con CDOSYS.
 
Se puede, no lo he probado, pero tengo fe de que se puede. 
 
Búscando en google cdosys, podremos encontrar varias soluciones.
 
He visto que Crean un objeto CDO.config y configuran el servidor smtp. Tambien tiene soporte para autenticarnos en el servidor smtp.
 
  

2 comentarios:

  1. Muchas gracias, aun no lo he comenzado el desarrollo y muy probabelmente me ahorro horas.

    ResponderEliminar