Hay dos formas mediante las cuales puedes recibir un formulario por email, la primera y la más sencilla es poniendo
<form method=post action="mailto:
[email protected]">
Así te llegara un archivo adjunto que se llama POSTDATA. ATT o algo así donde te aparecerán los nombres de las variables y sus valores.
La otra forma, mucho más eficaz y bonita pero más compleje es hacerlo mediante asp, te paso el código, ( te recomiendo esta opción)
mmmmmm wow me explico:
Desde ASP tenemos varias formas de enviar mails, desde utilizar objetos de terceros como aspmail a utilizar CDO/CDONTS utilizando el SMTP del IIS. En este artículo se explica como configurar el SMTP y como enviar mails desde ASP.
El envío de mails desde páginas ASP o programas en VB es muy sencillo de realizar si utilizamos CDO (Collaboration Data Objects), los ejemplos para realizar el envío de mails son muy sencillos de hacer y solo ocupan unas líneas, por eso aquí nos ocuparemos también de la configuración del SMTP del IIS (Internet Information Server) 4.0 en windows NT 4.0 o el IIS 5.0 en windows 2000 Server o Advanced Server.
Si en el servidor instalado hay un Exchange Server 5.5 no es necesario instalar el SMTP del IIS, es más, me he encontrado con problemas al tener las dos opciones instaladas en el servidor SMTP del IIS y Exchange Server.
Collaboration Data Objects.
Las dll que se necesitan para programar con CDO vienen con el Exchange Server y se instalan si en la instalación del Exchange seleccionando la opción Active Server Components. También vienen con el Microsoft Outlook 98/2000, en los dos casos viene la version 1.2.1. Si de desea bajar la última versión les puede encontrar en esta dirección Bajarse el CDO
Instalación y configuración del SMTP del IIS.
El SMTP del IIS 4.0 para Windows NT 4.0 viene en el CD del Option pack y para IIS 5.0 de Windows 2000 Server es parte del sistema. Si no lestá instalado, es necesario buscar en esos cd e instalarlo, el proceso de instalación no tiene más dificultad que aceptar las ventanas que salgan hasta finalizar el proceso.
La configuración del SMTP para el IIS en el caso de disponer de Exchange Server instalado se puede obviar.
El SMTP del IIS es parte de la MMC (Microsoft Management Console) del IIS (figura 1) tanto en la versión 4.0 como 5.0, (si no digo lo contrario hablaré siempre de la versión 4.0), pulsando con el botón derecho del mouse en la opción del SMTP y seleccionando propiedades se ve lo que aparece en la figura 2, lo más importante aquí es que IP Address tenga una IP valida de internet, la otra opción importante es la pestaña Delivery (figura 3) y la opción Full qualified domine name, aquí se debe poner el nombre de domino que hará de SMTP, si el servidor esta en pruebas y es una máquina local es posible poner el nombre de la maquina. Para la versión 5.0 del IIS la opción Full qualified domine name se encuentra en la misma pestaña Delibery (figuras 4 y 5) pulsando el botón Advanced.
Es probable que si actualizamos el IIS para añadir el servicio de SMTP cuando se envíen mails a través de páginas ASP salga el error 'Permission Denied' para solucionar esto lo mejor es consultar en soporte de Microsoft el artículo Q228465, otra cosa que puede funcionaros es dar permisos de acceso al IUSR_NombreMaquina sobre la librería cdo.dll.
Ejempos en ASP y Visual Basic.
Para conocer el modelo de objetos de CDO se puede encontrar en las páginas de Microsoft, al final del artículo tenéis un enlace:
En ASP:
Set oMail = Server.CreateObject ("CDONTS.NewMail")
oMail.BodyFormat = 0
oMail.MailFormat = 0
Sender = "
[email protected]" 'Tu email
Recipient = "
[email protected]" 'Email de destino
titulo = "Envio de mails con CDO desde ASP"
Texto = "Pruebas de envio"
oMail.Send Sender, Recipient, titulo, Texto
Set oMail = Nothing
La instrucción oMail.MailFormat = 0 hace que el mail se envié con formato HTML, si MailFormat lo ponemos a 1 el mail se enviará en formato texto. También es posible enviar ficheros adjuntos con CDO, para poder hacerlo hay que utilizar la propiedad :
AttachFile ruta del fichero, nombre del fichero
oMail. AttachFile "h:\pruebas.log", "pruebas.log"
O enviar URL con AttachURL.
Los mails que se envían quedan puestos en el directorio \intepub\mailroot\, aquí hay una serie de carpetas donde se depositan los mails (figura 6 y 7), los mails que están en cola de salida están en Queue y los que tienen problemas a la hora de salir como por ejemplo que no hay conexión a internet o no esta bien configurado el SMTP del IIS están en PickUp.
Ejemplo en Visual Basic. Es similar al de ASP lo que en VB se ha de referenciar los componentes de CDO (si no conoce la manera de referenciar componentes desde VB, es recomendable el siguiente artículo donde explico gráficamente como hacerlo Crear objetos COM con VB y usarlos desde ASP),
y seleccionar los componentes de CDO que se llaman Microsoft CDO for NTS 1.2 Library.
Public Sub SendMails
Dim oMail As New CDONTS.NewMail
Dim Sender as String
Dim Recipient as String
Dim titulo as String
Dim Texto as String
oMail.BodyFormat = 0
oMail.MailFormat = 0
Sender = "
[email protected]" ' Email de quien envia
Recipient = "
[email protected]" ' Email de destino
titulo = "Envio de mails con CDO desde ASP"
Texto = "Pruebas de envio"
oMail.Send Sender, Recipient, titulo, Texto
Set oMail = Nothing
End Sub
Conclusiones.
CDO es una buena herramienta de trabajo para enviar mails con formato HTML o Texto, con el se pueden crear fácilmente listas de distribución uniendo CDO y ADO pero no solo sirve para el envío de mails, CDO es un completo conjunto de objetos a través del cual también podemos acceder al inbox del exchange y se puede trabajar con las carpetas, lista de usuarios, etc ...
Hasta aquí lo expuesto para ASP y VB pero si hay alguien interesado en VC++ también puede utilizar CDO y un ejemplo se puede encontrar en soporte de microsoft con el ID:Q171098.