José Antonio Rastoll Pérez ASP Mandar mails desde Indice IntroduccionComo CDONTSASP DUDAS
Dos opciones: -El caso más directo. Enviar estos datos colocando en la etiqueta el atributo PROBLEMA:El problema de este tipo de envío consiste en que se tiene que realizar a través del correo electrónico que un usuario tenga configurado en su ordenador y, en caso de que no tuviera ningún configurado, no se podría realizar el envío. -Utilizar un envío de mails a través del servidor. Consiste en mandar datos de un formulario rellenado por el visitante a los administradores de la página. Opciones para el envío de mails a través del servidor ASP Indice Introduccion
PROBLEMAS CON ASP EN ENVIO A TRAVES DE UN SERVIDOR Pueden existir problemas o bien en la configuración del servidor a utilizar o bien en el componente: -En el servidor de correo saliente puede ocurrir que no lo tengamos bien configurado. -En cuanto al componente se puede dar el caso de que no de ningún problema a la hora de enviar el correo y sin embargo no llegue al destinario para que esto no ocurra o si ocurre saber cual es el problema debemos siempre capturar todos los posibles errores que se puedan producir para asi poder identificarlos y corregirlos. -Y también, y al parecer, el error mas común es el problema de permisos: Tipo de error: Objeto Server, ASP 0178 (0x ) Error en la llamada a Server.CreateObject al comprobar permisos. Se ha denegado el acceso a este objeto. /infotrol/ADMIN/ENCUESTAS/prueba3.asp, línea 3 linea 3: Set Mail = Server.CreateObject ("CDONTS.Newmail") Indice Introduccion
Para el envío de mails desde ASP debemos utilizar un componente especial del servidor. QUE SON LOS COMPONENTES: Los componentes del servidor son básicamente una DLL que hay que registrar en el Registro de Windows, para que nos proporcione objetos necesarios para nuestros fines y con estos realizar acciones de diferentes complejidades. Éstas acciones pueden ser: -El envío de correo electrónico. -Subir ficheros al servidor. -Conectar con una base de datos - Y muchos cosas mas... Algúnos componentes para el envio de mails desde el servidor son : CDONTS: CDONTS: El más popular porque lo entregan en las distribuciones básicas del motor ASP. Asp Asp Componente comercial de la empresa Persits, que incluye más facilidades que CDONTS. Existe una version gratuita.Persits AspMail. AspMail. Es otro componente comercial para el envío de correos. De serverobjects.com. serverobjects.com Como enviar correos con ASP Indice IntroduccionComo
Dicho componente está presente en muchas de las versiones de Windows en su modo servidor, como son: -Windows NT 4 -Windows 2000 Server Habrá que tener el servidor SMTP correctamente configurado. Los usuarios de Windows XP no disponen del CDONTS pero pueden obtenerla facilmente. Vamos a utilizar el objeto Collaborative Data Objet (CDO) de Microsoft. Ya que es obligatorio tenerlo instalado junto con un windows, como podrían ser los anteriormente mencionados. El ejercicio siguiente es un script que permite mandar un desde una página a un amigo del visitante que lo desee. Es uno de los típicos sistemas de "recomienda a un amigo". Los datos para rellenar el mail, estan puestos a mano. Si se quiere enviar los datos de un formulario sólo tenemos que recogerlos con instrucciones como estas: cBody = Request.Form("Body") cPara = Request.Form("Amiguete") CDONTS DE IIS: Ejemplo para que los visitantes puedan recomendar la página a un amigo. Indice IntroduccionComo CDONTS
Enviar a un amigo <% Dim cBody Dim oCDO 'el objeto CDO Creamos el objeto CDO utilizando el método CreateObject del objeto Server Set oCDO = Server.CreateObject("CDONTS.NewMail") 'Asignamos las propiedades al objeto oCDO.From = oCDO.To = oCDO.Subject = "Asunto del mensaje" oCDO.Body = cBody oCDO.Cc = una copia del mensaje a varios destinatarios oCDO.Bcc = copia que no aparece en la lista de destinatarios del mensaje. indicamos que el cuerpo del mensaje contiene HTML. oCDO.BodyFormat= 0 CDONTS DE IIS: Ejemplo para que los visitantes puedan recomendar la página a un amigo. Indice IntroduccionComo CDONTS
oCDO.Send ' Enviamos el ! Set oCDO = Nothing 'Liberar... Response.Write "¡Se envió Ok, qué fácil!!" 'Mostramos mensaje de que seenvió con éxito. %> CDONTS DE IIS: Ejemplo para que los visitantes puedan recomendar la página a un amigo. Indice IntroduccionComo CDONTS
Si quisiéramos controlar más nuestro mail: -oCDO.Importance = 1 Envía el mail con urgencia (0=Baja, 1=Normal, 2=Alta). -oCDO.AttachFile "c:\MisDocumentos\archivo.doc", "Hoja de Gastos" Adjunta el fichero "archivo.doc" con el nombre "Hoja de Gastos". CDONTS DE IIS: Ejemplo para que los visitantes puedan recomendar la página a un amigo. Indice IntroduccionComo CDONTS
Persits Software ha desarrollado este componente. Y la buena noticia es que funciona con el PWS y se le puede indicar que use el servidor de correo que queramos. La segunda y probablemente mejor noticia, es que ASP es gratis. Tiene algunas características avanzadas que necesitan que nos registremos, pero con la versión gratuita se puede hacer prácticamente de todo. Con ASP - - No es necesario usar objetos CDO. - - NO es obligatiorio instalar ningun sistema especifico de servidor concreto como Windows NT o Y no tengo que saber configurar el SMTP ya que no es necesario. INSTALACION DE COMPONENTES: ASP 1- Descargamos software. 2- Los instalamos ejecutando el archivo. 3- Y lo registramos desde una ventana de MS-DOS o desde Ejecutar en el botón Inicio: C:\>regsvr32 c:\Asp Dir\Asp .dll C:\>regsvr32 c:\Asp \bin\Asp .dll ASP Ejemplo para que los visitantes puedan recomendar la página a un amigo. Indice IntroduccionComo CDONTSASP
ASP Ejemplo para que los visitantes puedan recomendar la página a un amigo..:FORMULARIO DE CONTACTO: Nombre: Indice IntroduccionComo CDONTSASP
ASP Ejemplo para que los visitantes puedan recomendar la página a un amigo. <% set mail = server.createObject("Persits.MailSender") Lo más interesante de ASP es que te permite elegir el servidor de correo saliente. 'configuro el mensaje, señalo el servidor de salida para enviar el correo mail.host = "mail.radioextremo.cl" 'indico la dirección de correo del remitente mail.from = indico la dirección del destinatario del mensaje. Se puede añadir tantos como se quieran llamando una vez al metodo por cada destinatario. mail.addAddress 'Obtengo los datos del formulario nombre = request.form("nombre") = request.form(" ") 'compongo el cuerpo del mensaje cuerpo = "Formulario De Nuestra Página Web"& VBNEWLINE & VBNEWLINE cuerpo = cuerpo & "Nombre: " & nombre & VBNEWLINE cuerpo = cuerpo & " " & mail.body = cuerpo 'aseguro que no se presenten errores en la página si se producen On Error Resume Next mail.send Indice IntroduccionComo CDONTSASP
ASP Ejemplo para que los visitantes puedan recomendar la página a un amigo. if Err > Indice IntroduccionComo CDONTSASP
D ? ? U S A D Indice IntroduccionComo CDONTSASP DUDAS