Base de Conocimiento
Enviar información de un formulario por CGI con una plantilla de correo
Escrito por Ivan Fernando Duque en 29 October 2014 04:56 PM

Si desea capturar datos a través de un formulario HTML y enviarlos en una plantilla o formato específico por correo a través de CGI, puede realizar el siguiente procedimiento:

1. Crear el formulario para capturar los datos:

A continuación encontrará un ejemplo de un formulario HTML que puede utilizar, aunque usted puede personalizar el diseño y contenido del mismo a gusto:

<html>
<head>
<title>Mi formulario</title>
</head>
<body>
  <form name="order" action="/cgi-sys/cgiemail/plantilla.txt" method="post" >
    <input value="http://www.sudominioregistrado.com/gracias.html" name="enviado" type="hidden">
     Nombre:  <input name="nombre"><p>
     Direccion:   <input name="direccion"><p>
     Empresa: <input name="empresa"><p>
     Cargo:  <input name="cargo"><p>
     Telefono: <input name="telefono"><p>
     Celular:  <input name="celular"><p>
     Email:  <input name="email"><p>
     Sitio web:  <input name="sitioweb"><p>
     <input type="submit" value="Enviar">
  </form>
</body>
</html>

Es importante que en el action del form esté "/cgi-sys/cgiemail/plantilla.txt". El nombre del archivo que va despues de cgiemail/ puede variar así como su ruta. En este caso para el ejemplo el archivo se llamará "plantilla.txt" y deberá estar dentro de "public_html" directamente junto con el archivo .html del formulario.

Adicionalmente, es importante cambiar http://www.sudominioregistrado.com/gracias.html por la ruta del archivo donde tenga una página .html de agradecimiento por completar el formulario por ejemplo, ya que será redireccionado allí.

2. Definir la plantilla del mensaje que vamos a enviar y los campos a utilizar:

En un archivo .txt deberá guardar la plantilla de texto que desee que se envíe en el mensaje, y utilizar los nombres de los campos donde capturó la información en el formulario. En este caso el archivo se llamará plantilla.txt y contiene lo siguiente a manera de ejemplo:

Return-Path: nombre@sudominioregistrado.com
From: Su Nombre <nombre@sudominioregistrado.com>
To: [email]
Cc: nombre@sudominioregistrado.com
Subject: Envio de formulario

Cordial saludo [nombre]

Estimado cliente

Gracias por tomarse el tiempo de diligenciar el formulario!

Si usted no se ha registrado con nosotros o cree que recibio este mensaje por error, por favor notifiquelo al correo nombre@sudominioregistrado.com

Informacion suministrada:

Nombre:  [nombre]
Direccion:  [direccion]
Empresa:  [empresa]
Cargo:  [cargo]
Telefono:  [telefono]
Celular:  [celular]
Email:  [email]
Sitio web:  [sitioweb]

En el contenido de esta plantilla se toman los valores de los campos del formulario con su respectivo nombre entre [] y el mensaje se enviará al correo que hayan diligenciado en el campo "email" del formulario, con copia a su correo (en este caso, el ejemplo se hace con nombre@sudominioregistrado.com). El usuario verá el mensaje como si fuera enviado desde nombre@sudominioregistrado.com en este caso.

Recuerde que la plantilla y el formulario pueden ser personalizados a gusto siempre y cuando los campos coincidan.

(3 votes)
El artículo fue de ayuda
El artículo no fue de ayuda

Sistema de Soporte de ColombiaHosting