josé antonio rastoll pérez

13
José Antonio Rastoll Pérez ASP Mandar mail s desde Indice Introduccion Como CDONTS ASPEMAIL DUDAS

Upload: albina

Post on 13-Jan-2016

45 views

Category:

Documents


0 download

DESCRIPTION

Mandar. mails. desde. ASP. José Antonio Rastoll Pérez. Introduccion. Como. CDONTS. ASPEMAIL. DUDAS. Indice. Opciones para el envío de mails a través del servidor ASP. Dos opciones: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: José Antonio Rastoll Pérez

José Antonio Rastoll Pérez

ASP

Mandar

mails

desde

Indice IntroduccionComo CDONTS ASPEMAIL DUDAS

Page 2: José Antonio Rastoll Pérez

Dos opciones:

- El caso más directo. Enviar estos datos colocando en la etiqueta <form> el atributo action="mailto:[email protected]".

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 email 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

Page 3: José Antonio Rastoll Pérez

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 (0x80070005)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 3linea 3: Set Mail = Server.CreateObject ("CDONTS.Newmail")

Indice Introduccion

Page 4: José Antonio Rastoll Pérez

Para el envío de mails desde ASP debemos utilizar un componente especial del servidor.

QUE SON LOS COMPONENTES:LosLos componentes del servidor componentes del servidor sonson básicamente una DLL que hay básicamente una DLL que hay que que registrarregistrar en el Registro de Windows, para que nos en el Registro de Windows, para que nos

proporcione objetos proporcione objetos necesarios para nuestros fines y con necesarios para nuestros fines y con estos estos realizar acciones de realizar acciones de diferentes complejidades.diferentes complejidades. Éstas Éstas acciones acciones pueden serpueden ser::

-- EEl envío de correo electrónicol envío de correo electrónico..-- Subir ficherosSubir ficheros al servidor al servidor..-- CConectar con una base de datosonectar con una base de datos- Y muchos cosas mas...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.AspEmailAspEmail Componente comercial de la empresa Persits, que incluye más facilidades que CDONTS. Existe una version gratuita. AspMail.AspMail. Es otro componente comercial para el envío de correos. De serverobjects.com.

Como enviar correos con ASP

Indice IntroduccionComo

Page 5: José Antonio Rastoll Pérez

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 email 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

Page 6: José Antonio Rastoll Pérez

<html> <head>    <title>Enviar a un amigo</title> </head> <body><% Dim cBody Dim oCDO 'el objeto CDO ‘ Creamos el objeto CDO utilizando el método CreateObject del objeto ServerSet oCDO = Server.CreateObject("CDONTS.NewMail")'Asignamos las propiedades al objeto

oCDO.From = “[email protected]" oCDO.To = “[email protected]" oCDO.Subject = "Asunto del mensaje" oCDO.Body = cBody oCDO.Cc = "[email protected];[email protected]“‘Enviar una copia del mensaje a varios destinatarios oCDO.Bcc = “[email protected]" ‘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

Page 7: José Antonio Rastoll Pérez

oCDO.Send ' Enviamos el email! Set oCDO = Nothing 'Liberar... Response.Write "¡Se envió Ok, qué fácil!!" 'Mostramos mensaje de que seenvió con éxito. %> </body> </html>

CDONTS DE IIS: Ejemplo para que los visitantes puedan recomendar la página a un amigo.

Indice IntroduccionComo CDONTS

Page 8: José Antonio Rastoll Pérez

•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

Page 9: José Antonio Rastoll Pérez

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 ASPEmail 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 ASPEMail:

- No es necesario usar objetos CDO.

- NO es obligatiorio instalar ningun sistema especifico de servidor concreto como Windows NT o 2000.

- Y no tengo que saber configurar el SMTP ya que no es necesario.

INSTALACION DE COMPONENTES: ASPEMail

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:\AspEmailDir\AspEmail.dll

C:\>regsvr32 c:\AspEmail\bin\AspEmail.dll

ASPEMAIL: Ejemplo para que los visitantes puedan recomendar la página a un amigo.

Indice IntroduccionComo CDONTS ASPEMAIL

Page 10: José Antonio Rastoll Pérez

ASPEMAIL: Ejemplo para que los visitantes puedan recomendar la página a un amigo.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>.:FORMULARIO DE CONTACTO:</title> </head>

<body> <form action="formu01.asp" method="POST"> Nombre:<input type="Text" name="nombre" size="50" maxlength="200"> <br> Email:<input type="Text" name="email" size="20" maxlength="200"> <br> <input type="submit" value="Enviar"> </form> </body> </html>

Indice IntroduccionComo CDONTS ASPEMAIL

Page 11: José Antonio Rastoll Pérez

ASPEMAIL: Ejemplo para que los visitantes puedan recomendar la página a un amigo.

<% set mail = server.createObject("Persits.MailSender") ‘Lo más interesante de ASPEmail 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 = "[email protected]“‘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 "[email protected]" 'Obtengo los datos del formulario nombre = request.form("nombre") email = request.form("email") 'compongo el cuerpo del mensaje cuerpo = "Formulario De Nuestra Página Web"& VBNEWLINE & VBNEWLINE cuerpo = cuerpo & "Nombre: " & nombre & VBNEWLINE cuerpo = cuerpo & "Email: " & email mail.body = cuerpo 'aseguro que no se presenten errores en la página si se producen On Error Resume Next mail.send

Indice IntroduccionComo CDONTS ASPEMAIL

Page 12: José Antonio Rastoll Pérez

ASPEMAIL: Ejemplo para que los visitantes puedan recomendar la página a un amigo.

if Err ><0 then response.write "Error, no se ha podido completar la operación"

else 'Declaro Saludo de despedida del visitante saludo = "Gracias por escribirnos:" & nombre & ", el formulario se ha enviado

correctamente" 'Muestro saludo response.write saludo end if

%>

Indice IntroduccionComo CDONTS ASPEMAIL

Page 13: José Antonio Rastoll Pérez

D ??U SAD

Indice IntroduccionComo CDONTS ASPEMAIL DUDAS