1dominio.net

Registro de Dominios y Web Hosting

martes, diciembre 26, 2006

Email desde un formulario

Muchos de mis clientes no son expertos programadores ni necesitan aplicaciones web complejas. Algunos de sus sitios están hechos siguiendo el viejo y confiable modelo de HTML estático. Para interactuar con el usuario no requieren más que un simple formulario que llegue a su correo.

cPanel trae un pequeño script CGI llamado cgiemail para resolver este problema y puede ser de mucha utilidad. Implementarlo es realmente sencillo. Simplemente se requieren 3 pasos.

  1. Instalar cgiemail
  2. Crear un template del email
  3. Crear un formulario HTML

Para instalar cgiemail es necesario entrar al cPanel. Una vez dentro, en el módulo CGI Center, y por último darle click al enlace CGI Email.

El template o plantilla es un simple archivo de texto con el contenido del mail a enviar, puede ser tan sencillo como el siguiente:
From: [email]
To: strangeman@chasm.big
Subject: Tres preguntas

Cuál es su nombre? [yourname]
Cuál es su pregunta? [quest]
Cuál es su color favorito? [colour]
Las primeras dos líneas son encabezados, seguidos de una línea en blanco. Dicha línea en blanco separa a los encabezados del contenido. Las siguientes líneas son el contenido del correo electrónico. Las palabras entre corchetes como [yourname] son las variables que recibiremos del formulario. Es necesario que las variables estén escritas sin espacios y con minúsculas.

El formulario es como cualquier otro en HTML. El único detalle que permite que funcione es el URL a donde lo enviamos en el atributo 'action' de la etiqueta 'form'. Dicho URL se compone de 3 partes. Nuestro dominio, la ruta a cgiemail y la ruta a nuestro template.

http://dominio.com/cgi-bin/cgiemail/template/questions3.txt

El código:
<FORM METHOD="POST" ACTION="http://http://dominio.com/cgi-bin/cgiemail/template/questions3.txt">

Su email: <INPUT NAME="email"><p>
Su nombre: <INPUT NAME="yourname"><p>
Pu pregunta: <INPUT NAME="quest"><p>
Su color favorito: <INPUT NAME="colour"><p>
<INPUT TYPE="submit" value="Enviar email">
</FORM>


Nótese que los nombres de los campos en el formularios son los mismos de las variables que esperamos recibir en el template. Se verá de la siguiente manera


Su email:

Su nombre:

Su pregunta:

Su color favorito: