Blog tecnico

Blog técnico

 

 

Formulario con envío de correo en Drupal 7

Formulario con envío de correo en Drupal 7

Drupal

Drupal permite insertar un formulario en nuestra web (como nuestro formulario de contacto) sin tener que escribir ni una línea de código, únicamente mediante la configuración de los módulos adecuados. Además, podremos hacer que los datos que nos manden en el formulario nos sean enviados por correo, para que puedan ser gestionados por un administrador o incluso servir de entrada a otra aplicación que los procese y almacene. Veamos cómo crear un formulario en Drupal en 15 minutos:

 

1. Lo primero que tenemos que hacer es instalar y habilitar estos módulos de Drupal:

- Mail System: https://drupal.org/project/mailsystem

- Mime Mail: https://drupal.org/project/mimemail

- SMTP Authenticacion Support: https://drupal.org/project/smtp

- Webforms: https://drupal.org/project/webform

 

Para instalarlos, hay que realizar las tareas típicas de instalación de cualquier módulo de Drupal:

 

a. Descargar el módulo para la versión de Drupal que tengamos instalada.

b. Comprobar dependencias y restricciones del módulo, normalmente revisando el fichero INSTALL.TXT que suelen contener todos los módulos.

b. Copiar la carpeta del módulo dentro de la carpeta sites/all/modules de nuestra instalación de Drupal.

d. Activar el módulo desde Administración > Módulos

 

2. Una vez instalados y habilitados estos 4 módulos, empezamos configurando el módulo SMTP Authentication Support.

 

Módulo SMTP Authentication

 

Esta es una configuración típica del módulo con Gmail:

 

- Server: smtp.gmail.com

- Backup server: (Dejar en blanco)

- Port: 465

- Use encrypted protocol: "Use SSL"

- Username: eticcofreelosophy@gmail.com (Aquí poned vuestra cuenta de Gmail)

- Password: XXXXXX (Aquí poned vuestra contraseña de Gmail)

 - E-mail from address: info@eticco.es (Aquí poned la cuenta que queréis que apareza como remitente)

 - E-mail from name: Eticco (Aquí tenéis que poner el nombre del sitio)

- Allow to send e-mails formated as Html (Podéis habilitar o no que se envíe como html…)

- E-mail address to send a test e-mail to: info@eticco.es (Para asegurarnos de que todo está bien configurado, hacemos la prueba de que nos envíe un email, poned vuestra dirección de prueba).

 

Lo vemos con un pantallazo:

 

<img alt="" data-cke-saved-src="/sites/default/files/pictures/image003.png" src="/sites/default/files/pictures/image003.png" style="width: 600px; height: 308px;" >

 

Para evitar problemas, es importante que, en los campos “E-mail from address” y “E-mail from name” indiquéis la misma información que en el apartado Detalles del sitio de Configuración > Sistema > Información del sitio, en los campos “Dirección de correo electrónico” y “Nombre del sitio web”.

 

3. Después, vamos a configurar el módulo MailSystem:

 

Pinchamos en el enlace “NEW CLASS” Y seleccionamos estos valores:

 

Class to use for the format() method: “MimeMailSystem”

Class to use for the mail() method: “SmtpMailSystem”

 

También pinchamos en “NEW SETTING” y seleccionamos, para Module: “Webform >> Webform module”, y dejamos la clave en blanco.

 

Le damos a “Guardar las opciones” y nos aparecerá, en la parte superior de la configuración del módulo, una nueva opción: “Webform module class”. Lo que debemos hacer es seleccionar, tanto para esa nueva opción, como para las otras dos (“Site-wide default MailSystemInterface class” y “Mime Mail module class”) la nueva clase que nos aparece: “MimeMailSystem_SmtpMailSystem”.

 

Configuración de Mail System

 

Con eso ya está configurado el módulo Webform para utilizar el correo de Gmail que configuramos en SMTP Authenticacion Support.

 

4. Una vez configurados los módulos, lo que tenemos que hacer es crear un webform en una página y configurarlo:

 

Vamos a Contenido > Agregar contenido > Webform y creamos un nuevo webform con los campos que queramos, desde la pestaña Webform. En la pestaña Editar escogeríamos el título, si queremos que salga en el menú, etc. Esto creará una página nueva con un formulario con esos campos. Por ejemplo:

 

Creación del formulario con webforms

 

5. El último paso es configurar el correo que se enviará con el formulario (en la subpestaña Correos electrónicos), con los datos de la cuenta de correo de destino, el asunto, la cuenta from (lo mejor es dejar la de por defecto del sitio, que es la misma que configuramos en SMTP Authentication Support), etc. Vemos de nuevo un pantallazo:

 

Configuración del correo electrónico en el formulario

 

Y eso es todo! La creación del formulario en sí la hemos visto un poco por encima porque no es el objeto del tutorial, pero es realmente sencilla y no debería dar ningún problema, mientras vayamos a usar campos "estándar". Si tenéis alguna duda sobre esa parte o cualquier otra, recordad que podéis usar nuestro formulario para enviárnoslas.