viernes, 1 de mayo de 2015

Creación de un script con un formulario para correo electrónico

Si deseamos que, al pulsar el botón de envío de un formulario, se manden los datos por email utilizando el servidor y sin estar supeditados a la configuración del cliente para saber si ciertamente ese mensaje se pudo enviar, debemos utilizar alguna tecnología de programación de páginas del lado del servidor. En este artículo vamos a presentar un ejemplo sobre cómo hacer esta tarea con ASP. 


ASP (Active Server Pages) es la tecnología de scripting del lado del servidor desarrollada por Microsoft. Con este tipo de programación podemos construir páginas que muestren un formulario y manden un correo electrónico automáticamente con los datos recibidos, una vez enviado. 

Podríamos utilizar un esquema de código como el siguiente: 

<% 
if request.form="" then 
'no recibo formulario, entonces lo muestro 
%> 
<form action="formulario_mail_asp.asp" method="POST"> 
Nombre: <input type="Text" name="nombre" size="12" maxlength="200"> 
<br> 
Email: <input type="Text" name="email" size="12" maxlength="200"> 
<br> 
<input type="submit" value="Enviar"> 
</form> <% 
else 
'si que recibo un formulario, entonces lo trato 
'recojo los datos 
nombre = request.form("nombre") 
email = request.form("email") 
'compongo el cuerpo del mensaje 
cuerpo = "Formulario recibido" & VBNEWLINE & VBNEWLINE 
cuerpo = cuerpo & "Nombre: " & nombre & VBNEWLINE 
cuerpo = cuerpo & "Email: " & email 
'mando el correo... 
'.................. 
response.write "Gracias por rellenar el formulario. Se ha enviado correctamente." end if %>

En el anterior script utilizamos if (request.form="") para saber si estamos recibiendo o no información de un formulario. 

Si no hemos recibido nada (porque en request.form tenemos una cadena vacía) este if saldría por su caso verdadero, en el que tendremos que presentar el formulario en la página. 

El caso else, cuando sí que recibíamos un formulario, recogemos sus datos y creamos el cuerpo del mail que enviaremos a la dirección del administrador. 

El resto del código, utilizado para definir las propiedades del email y enviarlo, todavía no lo hemos indicado. Antes una aclaración. 

ASP no tiene entre las funciones del lenguaje una que sirva para enviar correos electrónicos. Sin embargo, podemos utilizar un componente ActiveX del servidor para realizar esas acciones. 

El componente CDONTS (presente en muchas de las instalaciones de IIS) serviría para realizar el envío del mail, pero también existen en el mercado otros componentes de servidor comerciales para realizar esas acciones con mayores funcionalidades. Uno de ellos es AspEmail, que es el que vamos a utilizar en este script, pero no es el único. Hablamos de las distintas opciones en el artículo Enviar mails desde ASP


Nota: Insistimos en que el siguiente código, que hace la acción de enviar un email, no funcionará si no tenemos el componente ASP AspEmail instalado correctamente en nuestro servidor. Además, deberíamos consultar la documentación del componente, para comprobar que en la versión que descarguemos sigue funcionando todo como aparece a continuación.


El código para enviar un mail podría ser algo como esto: 

'creo el objeto correo
set mail = server.createObject("Persits.MailSender") 
'configuro el mensaje 
'señalo el servidor de salida para enviar el correo 
mail.host = "mail.tudominio.com" 
'indico la dirección de correo del remitente 
mail.from = "loquesea@tudominio.com" 
'indico la dirección del destinatario del mensaje 
mail.addAddress "loquesea@tudominio.com" 
'indico el cuerpo del mensaje 
mail.body = cuerpo 
'lo envio 
'aseguro que no se presenten errores en la página si se producen 
On Error Resume Next 
mail.send 
if Err ><0 then 
response.write "Error, no se ha podido completar la operación" 
else 
response.write "Gracias por rellenar el formulario. Se ha enviado correctamente." end if 


Nos podemos guiar por los comentarios para hacernos una idea del funcionamiento de este trozo de código. Básicamente se crea el objeto mail, que contendrá el correo que se va a generar, y se definen sus propiedades como el servidor de correo a utilizar, el destinatario o el asunto. Luego se envía y se realiza una sencilla tarea de detección de errores para saber si se pudo realizar la tarea con éxito o no y mostrar un mensaje adecuado para cada caso. 


Nota: no se pretenden explicar los pormenores de este Control Activex del servidor, ya que hay una excelente documentación y ejemplos en la página web de la empresa que lo ha desarrollado. En caso de que se desee aprender algo más, por favor, dirigiros a la página www.aspemail.com o la del componente del que dispongáis.que dispongáis.
Fuente:enlace
Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros 
Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información

No hay comentarios:

Publicar un comentario

Entradas populares