- Mi formulario web no envía el correo.
- Mi formulario se envía con una cuenta que no es mía (por ej: wordpress@nombredominio.com).
- Los datos de mi formulario no se ven en el orden que yo quiero.
Si tú también te encuentras en alguna de estas situaciones cada vez que creas un formulario para una web en WordPress, espero que este post te sirva de ayuda para tus proyectos.
Índice de contenidos
Entendiendo los campos y parámetros de un email.
De / From: Nombre y cuenta de correo desde la que se envía.
Responder a / Reply to: Cuenta de correo que aparecerá cuando le pulsemos en “Responder”.
Para / To: Cuenta de correo donde quieres recibir el email.
Asunto / Subject: Asunto del email.
Mensaje / Message: Cuerpo del mensaje.
Aquí tenéis un ejemplo. En este caso, tanto el que envía como el que recibe es la misma persona:
Configuración de parámetros de correo con plugin Contact Form 7.
La mayoría de plantillas WordPress se basan en el plugin Contact Form 7 para la visualización y envío de formularios, por lo que voy a explicarte cómo configurarlo.
- Una vez instalado el plugin, vamos a la sección “Contacto/Formularios de contacto” y añadimos un nuevo formulario.
- En la primera pestaña “Formulario”, estableceremos cada uno de los campos que necesitemos que rellene el usuario que visite la web. Por ejemplo: Nombre, Email, Mensaje, chequeo de comprobación de política de privacidad, reCaptcha, etc. Es posible que la propia plantilla que usas te haya generado un formulario por defecto y tengas la mayoría de campos completados, pero si no, desde aquí podrás editarlos.
En nuestro caso, tenemos el Nombre, Email y Mensaje:
- En la pestaña “Correo electrónico” configuramos los parámetros del e-mail para que coja cada uno de los campos del formulario, así como cada uno de los valores que se mostrarán en el correo como hemos explicado en el punto 1. A continuación muestro cómo lo tengo configurado para mi web. En mi caso tengo configurado el mismo correo tanto para enviar como dónde lo recibo, pero podéis poner cuentas de correo diferentes. Como veréis, en el “Reply-To” tengo asociado el parámetro del E-mail que escribe el usuario en el formulario, de esta manera, cuando reciba un correo, simplemente le daré a Responder y aparecerá su email. En el cuerpo del mensaje también muestro su E-mail, Nombre y Mensaje.
¿Y si no uso Contact Form 7?
Hay veces en que la propia plantilla de WordPress viene con un formulario de contacto integrado. En este caso, tenemos dos opciones:
- Ignorarlo e instalar el plugin Contact Form 7.
- Usar el que viene, teniendo en cuenta que su configuración puede ser muy sencilla o muy compleja. Por ejemplo, hace poco me encontré con un formulario que puedo insertar fácilmente desde Visual Composer. Dije: ¡qué fácil, voy a usarlo! Me puse a maquetar el formulario en la web, y al hacer la primera prueba de envío, recibo el correo en el que aparece “De / From”: WordPress <wordpress@minombrededominio.com>.
Reviso la configuración de arriba abajo y veo que no existe ningún sitio donde pueda especificar este parámetro. Solo aparece el To, Subject y Reply-To:
Tuve que indagar en el código fuente de la plantilla y por suerte logré configurarlo. Además, comprobé que el “reply to” no se estaba usando correctamente, ya que estaba configurado para que el campo “reply to” de la configuración del formulario lo usara para enviar una copia del e-mail como “Bcc”, así que lo modifiqué para que se comportase como debía.
Por lo tanto, aconsejo utilizar Contact Form 7 en la medida de lo posible. De lo contrario, tendrás que contactar con un programador o con el desarrollador de la plantilla en caso de que no funcione como quieres.
Configuración de método de envío por SMTP.
Por defecto, WordPress usa la función wp_mail cuando envía un correo. Al realizar esta llamada, automáticamente se realiza el envío. Pero es posible que tu proveedor de hosting tenga bloqueada la función PHP mail() y el envío no funcione. Si te encuentras en esta situación, puedes hacer que el envío se realice mediante SMTP. Esto significa que el envío se realiza a través de tu proveedor de e-mail, por lo que tendrás que configurar todos tus parámetros de configuración. Veamos un ejemplo de configuración en WordPress usando el plugin WP Mail SMTP.
Una vez instalado, vamos a Ajustes/Email y rellenaremos los campos como podéis ver aquí:
Cada uno de los parámetros pueden variar dependiendo de tu proveedor de e-mail, por lo que es posible que tengas que configurarr la cuenta sin encriptación, usando SSL o TLS, con un puerto diferente al 25, etc.
A continuación os dejo la configuración para los principales gestores de correo, pero si tienes un cuenta de correo con tu propio dominio tendrás que preguntar a tu proveedor de correo actual.
Gmail
SMTP Host: smtp.gmail.com
SMTP Port: 465
Encryption: SSL
- Para las cuentas de Gmail, es posible que tengas que hacer una configuración extra, ya que puede que te bloquee. Para comprobar si te está bloqueando, debes ir a tu cuenta de Google y en la configuración de seguridad, acceder a la sección “Aplicaciones y Sitios conectados”. Si quieres ahorrarte complicaciones, te recomiendo usar el plugin SMTP de Gmail, en lugar de WP Mail SMTP.
Yahoo
SMTP Host: smtp.live.com
SMTP Port: 587
Encryption: TLS
Hotmail
SMTP Host: smtp.live.com
SMTP Port: 587
Encryption: TLS
Esto es todo, espero que os guste y consigáis entender todos los parámetros que conforman un correo electrónico, así como su configuración con Contact Form 7. Si tienes alguna pregunta o conoces otras maneras que puedan ser interesantes, no dudes en escribir en los comentarios.