Cuando creas un formulario en Elementor, la plataforma te permite enviar notificaciones por correo al administrador o al usuario. Sin embargo, muchos usuarios descubren que esos correos nunca llegan. El problema no está en Elementor en sí: generalmente es consecuencia de cómo WordPress gestiona el correo electrónico en el servidor.
WordPress utiliza la función wp_mail() para enviar correos. Si no configuras un plugin SMTP o un servicio externo, WordPress intenta usar la función mail() nativa de PHP del servidor de hosting. Esta función es notoriamente poco fiable: muchos servidores la desactivan, y cuando funciona, los correos se envían con una dirección genérica del servidor que casi siempre termina en spam.
Las 4 razones principales por las que no llegan los correos
- Sin SMTP configurado: WordPress intenta usar
mail()de PHP, que no autentica el remitente ni configura SPF/DKIM. Los correos se marcan como sospechosos. - Acción de formulario mal definida: Elementor permite crear acciones personalizadas tras envío. Si la acción de correo no está activada o configurada, no se envía nada.
- Problemas de DNS: Sin SPF (Sender Policy Framework) y DKIM, incluso con SMTP, los correos pueden bloquearse en el lado del destinatario.
- Filtro de contenido agresivo: Algunos servidores o proveedores de correo filtran formularios que detectan como bots o spam.
Solución 1: Instalar un plugin SMTP
La forma más simple y recomendada es usar un plugin como WP Mail SMTP. Este plugin reemplaza la función mail() de PHP con un envío SMTP autenticado, garantizando que tu correo llegue con credenciales válidas.
- Instala WP Mail SMTP desde el directorio de plugins de WordPress (versión gratuita es suficiente para empezar).
- Activa el plugin y ve a
WP Mail SMTP → Configuración. - Selecciona tu proveedor de correo (Gmail, Office 365, Brevo, Mailgun, etc.).
- Conecta tu cuenta y autoriza el plugin para enviar en tu nombre.
- Prueba el correo con la función de test del plugin.
Si usas Gmail o Google Workspace, necesitarás una contraseña de aplicación (no la contraseña normal de tu cuenta). Para Outlook, utiliza un token de autenticación OAuth.
Solución 2: Conectar Elementor a un servicio externo
Elementor Pro permite integraciones directas con servicios como Mailchimp, ConvertKit, Zapier y otros. Esta es una opción si no quieres gestionar SMTP manualmente:
- En el editor de Elementor, abre tu formulario.
- Ve a
Acciones después del envíoy buscaIntegración de terceros. - Selecciona tu servicio (ej. Zapier → correo).
- Conecta tu cuenta y autoriza la integración.
- Mapea los campos del formulario a los campos del destinatario del correo.
Esto es especialmente útil si ya usas una plataforma de email marketing como Brevo o Doppler, porque los correos llevan tu dominio verificado y evitas los problemas de SPF/DKIM locales.
Solución 3: Verificar y configurar SPF, DKIM y DMARC
Aunque tengas SMTP configurado, los correos pueden bloquearse si tu dominio no tiene registros DNS válidos. Estos registros dicen a los servidores receptores: «sí, autorizo a esta máquina a enviar correos en mi nombre».
SPF (Sender Policy Framework): Agrega un registro TXT a tu DNS. Por ejemplo:
v=spf1 include:sendgrid.net include:google.com ~all(Ajusta los include: según tu proveedor SMTP.)
DKIM (DomainKeys Identified Mail): Tu proveedor SMTP te proporciona una clave pública para configurar en tu DNS (típicamente un registro CNAME o TXT en default._domainkey).
DMARC: No es obligatorio para empezar, pero recomendamos v=DMARC1; p=none; rua=mailto:... para monitoreo.
Puedes verificar tus registros con herramientas online o usa nuestro test gratuito que te muestra exactamente qué está mal con tu dominio.
Solución 4: Testea tu entrega antes de depender de ello
Antes de lanzar un formulario crítico (pedidos, recuperación de contraseña, etc.), testea cómo realmente se ve y dónde llega tu correo:
- Testa en varias bandejas: Usa nuestro test gratuito para enviar tu correo a seed-direcciones en Gmail, Outlook, Movistar, Yahoo y otros proveedores españoles y latinoamericanos. Verás exactamente en qué carpeta aterriza (Inbox, Spam, Promotiones).
- Revisa los headers: Elementor (con SMTP) incluye headers como
X-MaileryX-Priority. Los spamfilters los analizan para decidir si es legítimo. - Verifica el content-type: Los correos HTML mal formateados pueden bloquearse. Usa la función de test del plugin SMTP para ver el HTML generado.
Este test es especialmente importante si tu formulario envía correos de confirmación de compra, porque un correo de transacción que llega a spam es una venta perdida.
Pasos rápidos si nada funciona
Si ya configuraste SMTP y verificaste DNS, pero aún no funciona:
- Comprueba en los logs de PHP del servidor. Accede vía FTP/SSH y lee
/var/log/apache2/error.logo similar. Busca mensajes de WP Mail SMTP. - Desactiva todos los plugins de seguridad temporalmente (Sucuri, Wordfence) y reintenta. A veces bloquean conexiones SMTP.
- Prueba con una dirección de correo diferente. Algunos dominios corporativos rechazan todo correo externo.
- Contacta a tu hosting y pide que verifique que no haya bloqueado los puertos 587 (TLS) o 25 (SMTP). Algunos hosting baratos los cierran para prevenir spam.
Mejor práctica: usa una plataforma de email
Para formularios de alto volumen o campañas transaccionales críticas, la mejor práctica es enviar a través de una plataforma como Brevo, Doppler (LatAm), SendGrid o Mailgun. Estas plataformas:
- Manejan escala y confiabilidad (99.9% uptime).
- Verifican tu dominio con SPF/DKIM de forma automática.
- Proporcionan monitoreo de entregas (bounce, complaint, delivery rates).
- Incluyen templates y personalización fácil.
Muchas tienen planes gratuitos o muy baratos para volúmenes bajos (ej. Brevo: 300 correos/día gratis).
¿Por qué mi formulario de Elementor envía correos a spam si todo está bien?
¿Cómo mando correos de confirmación de pedido si no tengo email marketing?
Enviar correo electrónico e introduce el email dinámico del usuario con los datos del pedido en el cuerpo del mensaje. Para automatizar, usa Zapier: Form → Zapier → Email personalizado + CRM.Mi hosting dice que PHP mail() está deshabilitado. ¿Qué hago?
mail() de PHP.