lunes, 11 de noviembre de 2013

Cómo hacer que los datos introducidos en un formulario de contacto nos lleguen al correo electrónico

Si hemos creado un formulario de contacto o una encuesta, etc. y queremos que estos datos nos lleguen al correo, hemos de ir a la hoja de destino de respuestas del formulario desde Google Drive.
Una vez abierto, iremos al menú "Herramientas" y a continuación haremos clic en el "Editor de secuencias de comandos".
Seleccionaremos "Proyecto en blanco":

Ahora pegaremos dentro de este recuadro cualquiera de los siguientes scripts, dependiendo del número de campos que tenga nuestro formulario:
Únicamente escribiremos nuestra dirección de correo en la que queremos recibir los datos introducidos en el formulario, teniendo en cuenta la anotación que dice que el segundo campo del formulario ha de corresponder al correo electrónico de la persona que rellena el formulario. Podemos poner más de una dirección de correo, separadas por ", " (correo1+coma+espacio+correo2+coma+espacio...)
Para un formulario de 6 campos:
function ContactePorCorreo(e) {

  //  Este script envía el contenido de un formulario a un destinatario de correo
  //  El formulario ha de tener los campos siguientes en este mismo orden: nombre y apellidos; correo electrónico;  mensaje; dirección ; población ; teléfono
  //  Debes cambiar la variable recipient poniendo tu dirección de correo entre las comillas
  try {
    var recipient = "tu correo-e";
    var timestamp = e.values[0];
    var nombre = e.values[1];
    var correoe = e.values[2];
    var mensaje = e.values[3];
    var direccion = e.values[4];
    var poblacion = e.values[5];
    var telefono = e.values[6];
    var body = nombre+' <'+correoe+'> <p>Este es un mensaje enviado desde la página web: '+mensaje;
    var bodyHTML1 = '<p>'+nombre+' <p>Este es un mensaje enviado desde la página web: </p>';
    var bodyHTML2 = '<a href="mailto:'+correoe+'">'+correoe+'</a>';
    var bodyHTML3 = '<blockquote>'+mensaje+'</blockquote>';
    var bodyHTML4 = '<blockquote>'+direccion+'</blockquote>';
    var bodyHTML5 = '<blockquote>'+poblacion+'</blockquote>';
    var bodyHTML6 = '<blockquote>'+telefono+'</blockquote>';
    var advancedArgs = {htmlBody: bodyHTML1+bodyHTML2+bodyHTML3+bodyHTML4+bodyHTML5+bodyHTML6, replyTo:correoe};
    MailApp.sendEmail(recipient, " Formulario de contacto ", body, advancedArgs);
  } catch(e){
    MailApp.sendEmail(recipient, "Error - Formulario de contacto", e.message);
  }
}
Llega el correo así:
NOMBRE
Este es un mensaje enviado desde la página web:
MENSAJE
DIRECCION
POBLACION

TELEFONO
Para un formulario de 8 campos:

function ContactePorCorreo(e) {

  //  Este script envía el contenido de un formulario a un destinatario de correo
  //  El formulario ha de tener los campos siguientes en este mismo orden: nombre; correo electrónico;  mensaje; teléfono; calle y número; población; código postal; país
  //  Debes escribir tu dirección de correo entre las comillas de var recipient
  try {
    var recipient = "tu correo-e";
    var timestamp = e.values[0];
    var nombre = e.values[1];
    var correoe = e.values[2];
    var mensaje = e.values[3];
    var telefono = e.values[4];
    var calleynumero = e.values[5];
    var poblacion = e.values[6];
    var codigopostal = e.values[7];
    var pais = e.values[8];
    var body = nombre+' <'+correoe+'> <p>Este es un mensaje enviado desde la página web: '+mensaje;
    var bodyHTML1 = '<p>Este es un mensaje enviado desde la página web: <p>'+nombre+'</p>';
    var bodyHTML2 = '<a href="mailto:'+correoe+'">'+correoe+'</a>';
    var bodyHTML3 = '<blockquote>'+mensaje+'</blockquote>';
    var bodyHTML4 = '<blockquote>'+telefono+'</blockquote>';
    var bodyHTML5 = '<blockquote>'+calleynumero+'</blockquote>';
    var bodyHTML6 = '<blockquote>'+poblacion+'</blockquote>';
    var bodyHTML7 = '<blockquote>'+codigopostal+'</blockquote>';
    var bodyHTML8 = '<blockquote>'+pais+'</blockquote>';
    var advancedArgs = {htmlBody: bodyHTML1+bodyHTML2+bodyHTML3+bodyHTML4+bodyHTML5+bodyHTML6+bodyHTML7+bodyHTML8, replyTo:correoe};
    MailApp.sendEmail(recipient, " Envío del formulario de contacto ", body, advancedArgs);
  } catch(e){
    MailApp.sendEmail(recipient, "Error – Envío del formulario de contacto", e.message);
  }
}
Para un formulario de 9 campos:

function contactePorCorreo(e) {

  //  Este script envía el contenido de un formulario a un destinatario de correo
  //  El formulario ha de tener nueve campos, el segundo de ellos destinado a la dirección de correo electronico
  //  Debes escribir tu dirección de correo entre las comillas de var recipient
  try {
var recipient = "tu correo-e";
var timestamp = e.values[0];
var primero = e.values[1];
var correoe = e.values[2];
var tercero = e.values[3];
var cuarto = e.values[4];
var quinto = e.values[5];
var sexto = e.values[6];
var septimo = e.values[7];
var octavo = e.values[8];
var noveno = e.values[9];
var body =primero+' <'+correoe+'> <p>Este es un mensaje enviado desde la página web: '+tercero;
var bodyHTML1 = '<p>Este es un mensaje enviado desde la página web: <p>'+primero+'</p>';
var bodyHTML2 = '<a href="mailto:'+correoe+'">'+correoe+'</a>';
var bodyHTML3 = '<blockquote>'+tercero+'</blockquote>';
var bodyHTML4 = '<blockquote>'+cuarto+'</blockquote>';
var bodyHTML5 = '<blockquote>'+quinto+'</blockquote>';
var bodyHTML6 = '<blockquote>'+sexto+'</blockquote>';
var bodyHTML7 = '<blockquote>'+septimo+'</blockquote>';
var bodyHTML8 = '<blockquote>'+octavo+'</blockquote>';
var bodyHTML9 = '<blockquote>'+noveno+'</blockquote>';
var advancedArgs = {htmlBody: bodyHTML1+bodyHTML2+bodyHTML3+bodyHTML4+bodyHTML5+bodyHTML6+bodyHTML7+bodyHTML8+bodyHTML9, replyTo:correoe};
MailApp.sendEmail(recipient, " Envío del formulario de contacto ", body, advancedArgs);
  } catch(e){
MailApp.sendEmail(recipient, "Error – Envío del formulario de contacto", e.message);
  }
}
Para un formulario de 10 campos:

function contactePorCorreo(e) {

  //  Este script envía el contenido de un formulario a un destinatario de correo
  //  El formulario ha de tener diez campos, el segundo de ellos destinado a la dirección de correo electronico
  //  Debes escribir tu dirección de correo entre las comillas de var recipient
  try {
    var recipient = "tu correo-e";
    var timestamp = e.values[0];
    var primero = e.values[1];
    var correoe = e.values[2];
    var tercero = e.values[3];
    var cuarto = e.values[4];
    var quinto = e.values[5];
    var sexto = e.values[6];
    var septimo = e.values[7];
    var octavo = e.values[8];
    var noveno = e.values[9];
    var decimo = e.values[10];
    var body =primero+' <'+correoe+'> <p>Este es un mensaje enviado desde la página web: '+tercero;
    var bodyHTML1 = '<p>Este es un mensaje enviado desde la página web: <p>'+primero+'</p>';
    var bodyHTML2 = '<a href="mailto:'+correoe+'">'+correoe+'</a>';
    var bodyHTML3 = '<blockquote>'+tercero+'</blockquote>';
    var bodyHTML4 = '<blockquote>'+cuarto+'</blockquote>';
    var bodyHTML5 = '<blockquote>'+quinto+'</blockquote>';
    var bodyHTML6 = '<blockquote>'+sexto+'</blockquote>';
    var bodyHTML7 = '<blockquote>'+septimo+'</blockquote>';
    var bodyHTML8 = '<blockquote>'+octavo+'</blockquote>';
    var bodyHTML9 = '<blockquote>'+noveno+'</blockquote>';
    var bodyHTML10 = '<blockquote>'+decimo+'</blockquote>';
    var advancedArgs = {htmlBody: bodyHTML1+bodyHTML2+bodyHTML3+bodyHTML4+bodyHTML5+bodyHTML6+bodyHTML7+bodyHTML8+bodyHTML9+bodyHTML10, replyTo:correoe};
    MailApp.sendEmail(recipient, " Envío del formulario de contacto ", body, advancedArgs);
  } catch(e){
    MailApp.sendEmail(recipient, "Error – Envío del formulario de contacto", e.message);
  }
}
Ahora guardamos el proyecto, por ejemplo con el nombre "Contacto por correo".
Ahora, desde el mismo editor de secuencias de comandos, haremos clic en "Recursos", y haremos clic en "Activadores del proyecto activo".
Seguidamente añadiremos un activador:
Seleccionaremos nuestro activador, seleccionaremos la opción "Al enviar el formulario", haremos clic en "Guardar" y autorizaremos a la aplicación.
A continuación, volveremos a la hoja de respuestas del formulario que tenemos abierta, iremos al menú "Herramientas" y seleccionaremos el "Administrador de secuencias de comandos".
Seleccionamos el comando creado (Contacte por correo) y hacemos clic en "Ejecutar":





Hemos de autorizar otra vez a la aplicación:
Procederemos de igual modo en la pantalla siguiente y ya está. Ahora nos queda probarlo rellenado el formulario desde nuestra página de contacto y enviar los datos.
Hemos de recibir en el correo los datos del contacto y además también quedarán registrados en la hoja de respuestas de Google Drive.

No hay comentarios:

Publicar un comentario