Como solucionar error de Contact Form 7 con Gmail SMTP

Anteriormente hemos hablado por qué es importante tener una página web de wordpress  pero los errores típicos que pueden surgir, ¿pruebas y pruebas de tus formularios de Contact Form 7 o Ninja Form pero no llegan a tu dirección de correo electrónico? ¿o quizás llegan a alguna dirección y a otras no? aquí te brindo un tutorial sencillo de cómo solventar este típico error.

Situaciones Típicas:

  • Tus formularios de Contact Form 7 u otro plugin de formularios entran en Span en tu bandeja de correo electrónico (Suele pasar con Gmail y Google Suite)
  • Tus formularios de Contact Form 7 u otro plugin de formularios  directamente no entran (Suele pasar con Outlook, Hotmail y Office 365, así como correos dependientes de CPanel)
  • Tus formularios entran a veces si y a veces no dependiendo de la dirección de correo que uses como destino 

    Si presentas algunas de estas situaciones es evidente que tienes un problema, la dirección desde la que envías y/o su servidor no es confiable para el receptor por eso no llegan, tienes que mejorar la fiabilidad. Olvídate de instalar otro plugin de formulario. Este fallo tan común en WordPress tienes que resolverlo con protocolo SMTP.

    Antes, revisa tu configuración

    Antes de comenzar, revisa y Comprueba que la dirección de envío de tu formulario (normalmente el campo de: en Contact Form 7, Ninja Forms, etc…) corresponde a tu dominio. Este sencillo paso hace extremadamente confiable el envío de un formulario para el servidor receptor, aun enviándose por los medios PHP comunes. En otras palabras, si la url de mi web es miweb.com debo de enviar desde una dirección [email protected]. No hace falta que esta dirección exista, puedes usar la genérica [email protected].

    Lo importante es que coincidan. Hay un 50% de probabilidades que con hacer esto empieces a recibir correos, si no es así… continua leyendo nuestro tutorial para que te lleguen los formularios en WordPress a través de SMPT con API Gm.

    ¿Por qué vamos a hacerlo?

    Por defecto, WordPress usa la función de correo PHP para enviar notificaciones por correo electrónico. Sin embargo, esta función no funciona a veces como se espera debido a varias razones. La mayoría de las empresas de alojamiento de WordPress restringe el uso de esta función para evitar el abuso y el spam. Por otro lado, los filtros de correo no deseado en los proveedores de servicios de correo electrónico como Gmail o Outlook verifican los correos electrónicos entrantes para controlar si se envían desde servidores confiables, y esto cuando somos una pequeña empresa no siempre es así. No tenemos bien configurado el servidor (con sus registros spfv, por ejemplo), o el proveedor de correo no confía en nuestro dominio y eso provoca fallos en la recepción de correos.

    SMTP es el estándar de la industria para enviar correos electrónicos y por lo tanto es mucho más confiable usar SMTP, ya que garantiza que ese correo (realmente es tu formulario) proviene de un lugar fiable. A diferencia de la función de correo PHP, SMTP utiliza la autenticación adecuada aumentando la fiabilidad de la entrega del correo electrónico.

    Gmail proporciona un servicio SMTP que puedes usar para enviar correos electrónicos desde tu sitio de WordPress, entre ellos los formularios de Contact Form 7 o Ninja.

Solucionando el problema 

Solucionar este problema es muy sencillo, solo basta con seguir los pasos que te indico. Para ponerte en situación necesitarás un plugin llamado Gmail SMTP y un par de claves API de Gmail SMTP. 

 

1. Instala en tu WordPress Gmail SMTP

Comencemos por lo fácil instalando el plugin que gestionará los envíos por SMTP. Este Plugin es GMAIL SMTP, que puedes encontrar en el repositorio de WordPress gratuitamente. La configuración de  este plugin la encontrarás en Ajustes > Gmail SMPT dentro de tu menú de WordPress. Debe salirte una pantalla así, pero vacía de datos, ahora te diré como completarlos.

Estos datos son de ejemplo. Para obtenerlos necesitarás una cuenta de Gmail y obtener tus claves para enviar mediante Gmail API tus formularios en WordPress.

 

2. Obtener las claves API Gmail SMTP.

Una API es un pequeño programa de un tercero que hace una función en una aplicación Web. Google dispone de una API para enviar correos electrónicos en aplicaciones Web como tu página de WordPress. Esta API es gratuita hasta un cierto nivel (normalmente suficiente para una web e incluso tienda online estándar).

Primero accede con tu cuenta de Gmail a https://console.developers.google.com. Esta es tu consola de desarrollador en Google, es donde obtendrás las claves necesarias para rellenar todo lo de arriba.

Tras aceptar los términos y condiciones, selecciona Gmail API, seguidamente haz clic sobre el botón Habilitar.

Te pedirá crear un proyecto, ponle un nombre y créalo. Puedes Llamar API WordPress por ejemplo.  Ubicación puedes dejarlo en blanco. Si tras crear el proyecto te devuelve a la pantalla anterior haz clic de nuevo en Habilitar, y ya cargará con tu proyecto API WordPress. Debe salir algo así:

Bien fíjate en Credenciales, de ahí sacarás todos los datos que necesitas para rellenar la configuración del plugin y viceversa. Primero selecciona Claves de API y haz clic en Crear Credenciales:

Aquí ya tienes tu Clave API.

Opcional pero muy recomendable: Puedes restringir la Clave a tu dominio haciendo clic en Restringir Clave. De esta manera tu API solo funcionará en tu Web.

Pero la configuración del plugin se lleva a cabo a través de OAuth, para ello ve a la pestaña Pantalla de Consentimiento OAuth dentro de Credenciales y rellena los datos de tu web. Muy importante que no mientas en la web de política de privacidad, sino revocarán tu API.

Aquí debes fijarte en dos cosas:

Tu Correo electrónico de asistencia. que será la Dirección de correo electrónico OAuth en la configuración del Plugin.

En la siguiente pantalla debes autorizar el uso de Javascript de tu web y copiar la URI de redirección que te proporciona el plugin

Tras hacer clic en crear, se te proporcionarán las claves tanto secreta como de cliente, pégalas en los datos de configuración del plugin.

 

3. Completar la configuración del plugin

Para enviar por SMTP usando la API Gmail de Google debes saber que:

El protocolo es el TLS.

El puerto es el 587.

Por último te recomendamos que marques la opción Desactivar comprobación del certificado SSL.

 

4. Recapitulando y activación de la API y el Plugin para forzar el envío de formularios por SMTP.

El plugin te pide todo esto y lo has obtenido a través del paso 2 y 3.

  • URI de redirección autorizada debes pegarla al obtener OAuth. Ver paso 2.
  • ID de cliente y Secreto del Cliente lo obtendrás al obtener el OAuth. Ver paso 2 al final
  • Dirección de correo electrónico OAuth. Es la dirección con la que obtienes la API Gmail.
  • De Nombre y Dirección. Lo que quieras poner.
  • Tipo de cifrado TLS.
  • Puerto 587.
  • Desactivar comprobación del certificado SSL: Sí.

Si todo está correcto activa el funcionamiento cambiando al estado de Conectado la configuración haciendo clic en el botón al principio del plugin.

Si el Estado esta en Verde. Configuración realizada. Solo te quedará probar que tus formularios, ahora sí llegan correctamente.

Si aún así no te funcionas puede anular la configuración SMTP realizada desintalando el plugin, así tu WP volverá a funcionar por la funcion nativa PHP Mail

Para cualquier duda tienes a tu disposición nuestro servicio técnico de WordPress que pueden ayudarte a configurar todo correctamente.

Arpynet Sac.