Cómo configurar WordPress para usar SMTP
¿Cansado de que los correos de tu WordPress lleguen a la carpeta de spam o, peor aún, no lleguen nunca? Este es un problema clásico en el mundo del hosting. Cuando tu sitio web intenta enviar correos usando la función estándar de PHP (mail()), los servidores de destino (Gmail, Outlook, etc.) suelen desconfiar y los filtran.
La solución profesional y definitiva es configurar SMTP en WordPress. SMTP (Protocolo Simple de Transferencia de Correo) es el estándar de la industria para el envío de emails. Al configurarlo, tu WordPress se autenticará correctamente con un servidor de correo, lo que garantiza una alta tasa de entrega en la bandeja de entrada (inbox) y no en el spam.
En esta guía extensa y paso a paso, te explicaré cómo configurar SMTP en WordPress de forma clara, incluso si no eres un experto en tecnología. Vamos a ello.
¿Por qué tu WordPress necesita SMTP?
Antes de ensuciarnos las manos, entendamos el "por qué". Cuando instalas WordPress en un hosting compartido (o incluso en un VPS), la configuración por defecto utiliza la función mail() de PHP para enviar correos. Esto es problemático por varias razones:
- Falta de autenticación: No se demuestra que el correo proviene de tu dominio, lo que dispara las alarmas de los filtros antispam.
- Servidores bloqueados: Las IP de los hosting compartidos suelen estar en listas negras por envíos masivos de otros usuarios.
- Sin cifrado: Los correos viajan sin cifrado, por lo que pueden ser interceptados o rechazados.
- Límites estrictos: Los servidores de destino limitan severamente los correos enviados desde IPs "no confiables".
Al configurar SMTP, usas un servidor de correo confiable (como el de tu proveedor de email, Google Workspace o un servicio transaccional) para enviar los mensajes. Esto mejora drásticamente la entregabilidad y la seguridad.
Método 1: Usar un Plugin (La forma más fácil y recomendada)
La forma más accesible de configurar SMTP en WordPress es mediante un plugin. Hay varios muy buenos, pero el más popular, fiable y con soporte para las últimas versiones es WP Mail SMTP.
Paso 1: Instalar el Plugin WP Mail SMTP
- Ve a tu escritorio de WordPress: Plugins → Añadir nuevo.
- En el buscador, escribe "WP Mail SMTP".
- Instala y activa el plugin "WP Mail SMTP by WPForms" (la versión gratuita es más que suficiente para la mayoría de sitios).
Paso 2: Configurar la Conexión SMTP
Una vez activado, verás un nuevo menú en tu panel lateral llamado "WP Mail SMTP". Haz clic en él para entrar a la configuración.
- Configuración General: En la pestaña "General", verás el campo "De correo electrónico". Aquí debes poner la dirección de correo que quieres que aparezca como remitente. Por ejemplo:
no-reply@tudominio.com. - Campo "De nombre": Escribe el nombre de tu empresa o sitio web.
- Mailer: Busca la sección "Mailer". Por defecto está en "Enviar todos los correos de WordPress usando PHP". Cámbialo a "Other SMTP".
Paso 3: Añadir los Detalles de tu Servidor SMTP
Ahora debes rellenar los datos de tu servidor de correo. Aquí te muestro ejemplos con los proveedores más comunes:
-
Si usas el correo de tu hosting (cPanel/Syspanel):
- SMTP Host:
mail.tudominio.com(o el que te indique tu proveedor). - Encryption:
SSL(aunque a veces es TLS). - SMTP Port:
465(para SSL) o587(para TLS). - Auto TLS: Déjalo activado si usas TLS.
- Authentication: Actívalo (ON).
- SMTP Username: Tu dirección de correo completa (ej:
hola@tudominio.com). - SMTP Password: La contraseña de esa cuenta de correo.
- SMTP Host:
-
Si usas Gmail o Google Workspace:
- SMTP Host:
smtp.gmail.com - Encryption:
SSL - SMTP Port:
465 - Authentication: Activado.
- SMTP Username: Tu correo de Gmail o Workspace.
- SMTP Password: Si tienes activada la verificación en dos pasos, necesitarás crear una "Contraseña de aplicación" en tu cuenta de Google. Si no, usa tu contraseña normal.
- SMTP Host:
-
Si usas Outlook/Office 365:
- SMTP Host:
smtp.office365.com - Encryption:
TLS - SMTP Port:
587 - Authentication: Activado.
- SMTP Username: Tu correo de Outlook.
- SMTP Password: Tu contraseña de Outlook.
- SMTP Host:
Paso 4: Guardar y Probar el Envío
- Haz clic en "Guardar configuración".
- Ve a la pestaña "Prueba de correo electrónico".
- Introduce la dirección de correo donde quieres recibir la prueba (puede ser tu correo personal).
- Haz clic en "Enviar correo electrónico".
Si todo ha ido bien, recibirás un correo de prueba. Si no, revisa los datos introducidos y los logs de error que te muestra el propio plugin.
Método 2: Configurar SMTP sin Plugin (Código PHP)
Si prefieres no usar un plugin para optimizar la velocidad de tu sitio, puedes añadir un pequeño fragmento de código a tu archivo functions.php de tu tema hijo (¡nunca en el tema padre si no quieres perderlo al actualizar!).
El Código Mágico
Abre tu archivo functions.php y añade este código al final. Recuerda reemplazar los datos con los de tu servidor SMTP (los mismos que vimos antes).
add_action( 'phpmailer_init', 'enviar_correos_smtp' );
function enviar_correos_smtp( $phpmailer ) {
$phpmailer->isSMTP();
$phpmailer->Host = 'mail.tudominio.com'; // Cambia esto
$phpmailer->SMTPAuth = true;
$phpmailer->Port = 465; // o 587
$phpmailer->Username = 'tu_correo@tudominio.com'; // Cambia esto
$phpmailer->Password = 'TU_CONTRASEÑA'; // Cambia esto
$phpmailer->SMTPSecure = 'ssl'; // o 'tls'
$phpmailer->From = 'tu_correo@tudominio.com'; // Cambia esto
$phpmailer->FromName = 'Nombre de tu Sitio';
$phpmailer->isHTML(true); // Para enviar correos en formato HTML
}
¿Cómo usar este código?
- Ve a Apariencia → Editor de archivos de tema.
- En la lista de la derecha, selecciona "Theme Functions" (
functions.php). - Pega el código al final del archivo.
- Haz clic en "Actualizar archivo".
[WARNING]: Antes de editar el archivo functions.php, siempre haz una copia de seguridad o usa un tema hijo. Un error de sintaxis puede romper tu sitio web. Si no te sientes cómodo, usa el plugin del Método 1.
Configurar SMTP si tu hosting es Syspanel (antes HestiaCP)
Si tu sitio está alojado en un servidor que utiliza el panel de control Syspanel (antes conocido como HestiaCP), el proceso es igual de sencillo, pero debes tener en cuenta un detalle crucial: el acceso.
[INFO]: El panel de control Syspanel (antiguo HestiaCP) se gestiona a través del puerto 2106. Por ejemplo: https://tu-dominio.com:2106.
¿Por qué es relevante esto para el SMTP? Porque si has creado tu cuenta de correo en Syspanel, los datos SMTP que debes usar son los de tu propio dominio.
Pasos para obtener tus datos SMTP en Syspanel:
- Accede a tu panel Syspanel en
https://tu-dominio.com:2106. - Inicia sesión con tu usuario y contraseña.
- En el menú lateral, busca la sección "Mail" o "Correo".
- Ahí verás la lista de tus cuentas de correo. Si aún no tienes una, créala (por ejemplo,
contacto@tudominio.com). - Los datos para configurar SMTP serán:
- SMTP Host:
tu-dominio.com - SMTP Username: La dirección completa (ej:
contacto@tudominio.com). - SMTP Password: La contraseña que definiste para esa cuenta.
- SMTP Port:
587(recomendado para TLS) o465(para SSL). - Encryption:
TLSoSSLrespectivamente.
- SMTP Host:
Con estos datos, ya puedes usar el Método 1 (plugin) o el Método 2 (código) para configurar el correo WordPress.
Resolución de Problemas Comunes (FAQ)
Aquí te dejo las soluciones a los problemas más frecuentes al configurar SMTP en WordPress.
1. "No puedo enviar correos, me sale el error 'SMTP connect() failed'"
Este es el error más común. Significa que WordPress no puede conectarse al servidor SMTP. Las causas suelen ser:
- Puerto incorrecto: Verifica que el puerto (465 o 587) coincide con el tipo de cifrado (SSL o TLS). Prueba ambos si es necesario.
- Host incorrecto: Asegúrate de que el host es correcto. A veces es
mail.tudominio.com, otras veces essmtp.tudominio.como incluso un servidor externo comosmtp.gmail.com. - El servidor bloquea el puerto: Algunos hosting compartidos bloquean las conexiones salientes al puerto 25 o 465. Si tienes un VPS, deberías poder abrirlos. Si es hosting compartido, contacta con el soporte.
- Firewall: Un firewall en tu servidor (como CSF) puede estar bloqueando la conexión. Revisa los logs del servidor.
2. "Los correos se siguen yendo a Spam"
Si SMTP funciona pero aun así va a spam, el problema no es la conexión, sino la reputación del remitente o la autenticación del dominio.
- Configura SPF y DKIM: Estos son registros DNS que verifican que tu servidor está autorizado para enviar correos en nombre de tu dominio. Puedes configurarlos fácilmente en tu panel de control (cPanel, Syspanel, etc.) o con tu proveedor de DNS.
- Evita palabras spam: Revisa el contenido de tus correos. Palabras como "gratis", "oferta", "haz clic aquí" o el exceso de mayúsculas pueden activar los filtros.
- Usa un servicio transaccional: Si envías muchos correos (newsletters), considera usar servicios como SendGrid, Mailgun o Amazon SES, que tienen una alta reputación de entrega.
3. "Uso Gmail y no me deja iniciar sesión"
Gmail es muy estricto. Si tienes la verificación en dos pasos activada (lo cual es recomendable), no puedes usar tu contraseña normal para SMTP. Debes:
- Ir a tu cuenta de Google → Seguridad.
- Activar la verificación en 2 pasos.
- Buscar "Contraseñas de aplicaciones".
- Crear una nueva contraseña para "Correo" y "Otro (nombre personalizado)".
- Usar esa contraseña generada (16 caracteres) en el plugin o en el código PHP.
4. "¿Cuál es la diferencia entre los puertos 465 y 587?"
- 465: Es el puerto para SMTP sobre SSL. La conexión se cifra desde el principio. Es el más común para la mayoría de los proveedores.
- 587: Es el puerto para SMTP sobre TLS (o STARTTLS). La conexión comienza sin cifrar y luego se actualiza. Es el estándar moderno y recomendado por la IETF.
Usa el que te indique tu proveedor. Si no sabes cuál es, prueba primero con 587 y TLS, y si falla, prueba 465 y SSL.
5. "¿Necesito un plugin si solo tengo un formulario de contacto?"
Sí, absolutamente. Los formularios de contacto (como Contact Form 7 o WPForms) envían correos usando la función mail() de WordPress por defecto. Si no configuras SMTP, esos correos (que suelen ser importantes, como consultas de clientes) se perderán o irán a spam. Configurar SMTP es la única forma fiable de asegurarte de que recibes las notificaciones de tus formularios.
Conclusión: Tu WordPress merece un correo fiable
Configurar SMTP en WordPress no es un lujo, es una necesidad para cualquier sitio web profesional. Ya sea que uses un plugin, código personalizado o los servicios de tu hosting, el esfuerzo merece la pena. No solo evitarás el spam y los correos perdidos, sino que también mejorarás la imagen de tu marca ante tus clientes.
Empieza con el Método 1 (el plugin WP Mail SMTP) si quieres una solución rápida y sin complicaciones. Si te sientes más atrevido y quieres ahorrar recursos, prueba con el Método 2.
Y recuerda, si tu hosting es Syspanel, ya sabes que el acceso es por el puerto 2106 y que los datos de correo los tienes en la sección "Mail" de tu panel. ¡Manos a la obra y a disfrutar de una bandeja de entrada limpia y funcional!
[TIP]: Después de configurar SMTP, te recomiendo instalar un plugin de log de correos (como "WP Mail Logging") para tener un registro de todos los correos que envía tu sitio. Esto te ayudará a diagnosticar problemas futuros y a saber exactamente qué se envía y a quién.
