Siendo honesto no es un problema muy común, pero pasa en algunos hosting o servicios de correo. Y antes de cualquier cosa revisa que no estén llegando a tu carpeta de spam.
Al grano, esto normalmente pasa porque los plugins de formulario de contacto utilizan la función PHP_mail()
y muchos servidores no están configurados para usar esta función.
Se puede solucionar con plugins de terceros y haciendo un par de configuraciones en los formularios de contacto. Estos lo que hacen es enviar los correos y los formularios a través del protocolo SMTP que es que se usa normalmente al día de hoy.
Como recomendación es mejor tener un correo que sea únicamente para el envío de formulario. Antes de seguir con el tutorial asegúrate de tener ya creada una cuenta de correo para esto.
Te voy a presentar 2 opciones que puedes utilizar según sea tu caso.
WP Mail SMTP
De los creadores del famoso WPForms, este es el que yo recomiendo si el protocolo de seguridad de tu email es SSL o TLS. Un plugin muy sencillo en el que solo tienes que configurar tus credenciales de correo y unas pocas cosas más. Es muy completo y dispone de una versión gratuita y de pago.
Para seguir este tutorial la versión gratuita será suficiente. Puedes descargarlo aquí.
Una vez instalado ve a la página de ajustes en la sección Primary Connection y configúralo de la siguiente forma.
Primero aclaro que todos estos parámetros que vamos a configurar te los entrega el servicio que tengas de correo ya sea desde el Cpanel o algún externo como Microsoft, Namecheap, Yahoo, etc.
Correo electrónico remitente: Es el correo desde donde se va a enviar el formulario, por ejemplo formulario@joserdev.com.
Forzar remitente del mensaje: Activo, esto para forzar a usar siempre la configuración de este plugin
Nombre remitente: El nombre que aparece en dicho correo, como normalmente solo tu ves este correo puede ser algo como Formulario de mi página. Para que sea fácil de indentificar.
Forzar el nombre del remitente: Desactivado, no hay necesidad de forzarlo
Servicio de correo electrónico: Otro SMTP. Es el más utilizado en todo servidor de páginas web.
A partir de aquí ponemos los datos que nos entrega nuestro servicio de correo, en este caso pondré el ejemplo con el típico servicio de correo que se provee desde el Cpanel con los datos del correo saliente o outcoming server. Claro que si usas otro servicio de correo debes poner los datos que este te entregue.
Servidor SMTP: Por lo general es el dominio o el dominio precedido por «mail.» En mi caso será solo joserdev.com.
Cifrado: Por lo general es SSL
Puerto SMTP: El puerto por el que se envían los datos, por lo general es el 465
TLS automático: Activo
Identificación: Activo, esto para utilizar usuario y contraseña de tu servicio de correo.
Nombre de usuario SMTP: Es el correo, en mi caso formulario@joserdev.com
Contraseña SMTP: Contraseña del correo.
Guardar ajustes.
Listo, está configurado el plugin, asegúrate que tu formulario esté configurado para enviar desde el correo que configuraste en este plugin.
Easy WP SMTP
También un plugin sencillo y práctico, descárgalo aquí, este es el que yo uitlizo si el protocolo de seguridad de tu email es STARTTLS o TLS y es la configuración que vamos a usar. Al igual que el ejemplo anterior solo tienes que configurar las credenciales de tu correo según tu proveedor te lo indique y es gratuito.
Aquí debo recalcar que este plugin me ha funcionado únicamente con servidores que trabajen con la versión de PHP 7.4.12 o superior. Y seguramente con otros plugins suceda lo mismo ya que la mayoría utilizan la librería PHP Mailer.
La configuración es básicamente la misma del plugin anterior. Una vez instalado el plugin nos vamos a Settings y pasamos los mismos datos.
Mailer Settings: Other SMTP
SMTP Host: Servidor de correo normalmente el dominio.
Type of encryption: TLS
SMTP Port: 465
SMTP Authentication: Activo
SMTP Username: El correo electrónico en mi caso formulario@joserdev.com
SMTP Password: Contraseña del correo
En general settings, llenamos los siguientes datos:
From Email Adress: Es el correo desde donde se va a enviar el formulario, por ejemplo formulario@joserdev.com.
From Name: El nombre que aparece en dicho correo, como normalmente solo tu ves este correo puede ser algo como Formulario de mi página. Para que sea fácil de indentificar.
Save Settings.
Listo, está configurado el plugin, asegúrate que tu formulario este configurado para enviar desde el correo que configuraste en el Easy WP SMTP.
Concluciones
La solución es bastante simple pero antes de instalarlos asegúrate que tus formularios están bien configurados, siempre es preferible no llenarse de plugins. También puedes comprobar si los correos de tu página en general se están enviando con Check & Log Email, un plugin gratuito y extremadamente simple.
Existen muchos plugins para solucionar este problema, estos son los que yo utilizo.
Espero te sirva esta información.