Cómo configurar el envío de correos SMTP en PrestaShop (cPanel/Outlook)
¿Te suena esto? Has montado tu tienda online con PrestaShop, has subido tus productos, has configurado los precios y, de repente, te das cuenta de que no llegan los correos a tus clientes. Ni los de confirmación de pedido, ni los de recuperación de contraseña, ni siquiera los tuyos propios de prueba. Es un momento de pánico, lo sé.
Pero respira. Este es un problema mucho más común de lo que crees y, además, tiene una solución clara y definitiva: configurar correctamente el envío de correos SMTP.
Olvídate de la función mail() de PHP (que es la que falla por defecto y suele acabar en la carpeta de spam o directamente en el vacío). Vamos a configurar tu PrestaShop para que use un servidor SMTP de verdad, ya sea el de tu hosting (cPanel) o el de un proveedor externo como Outlook.
En esta guía extensa y paso a paso, voy a asumir que no eres un experto en informática. Vamos a ir despacio, con un lenguaje claro y directo. Al final de este artículo, tu tienda enviará correos como una moto.
¿Por qué falla el envío de correos en PrestaShop por defecto?
Antes de ponernos manos a la obra, es importante entender el "por qué". PrestaShop, en su instalación estándar, utiliza la función mail() de PHP para enviar correos. Esta función depende de que el servidor donde está alojada tu web tenga configurado un servicio de envío de correos local, algo que en la mayoría de los hostings compartidos está restringido o mal configurado para evitar spam.
El resultado práctico es que tus correos se pierden, se marcan como spam o simplemente no se envían. La solución pasa por usar SMTP (Protocolo Simple de Transferencia de Correo). Piensa en ello como si le dieras a PrestaShop la dirección, el usuario y la contraseña de una oficina de correos privada (tu servidor SMTP) para que entregue los paquetes (correos) en lugar de intentar usar el servicio público (mail() de PHP) que está colapsado o bloqueado.
Vamos a configurar esa "oficina privada" ya sea con tu cuenta de cPanel o con Outlook.
Configurar SMTP en PrestaShop usando tu cuenta de cPanel
Esta es la opción más lógica si tu dominio y tu web están alojados en un hosting con cPanel. La ventaja es que el remitente será tu propio dominio (algo así como tienda@tudominio.com), lo que da mucha más confianza a tus clientes.
Paso 1: Crear la cuenta de correo en cPanel
Lo primero es tener una cuenta de correo asociada a tu dominio desde la que enviar los mensajes.
- Accede a tu panel de control de cPanel (normalmente en
tudominio.com/cpanelocpanel.tudominio.com). - Busca la sección "Correo Electrónico" y haz clic en "Cuentas de correo electrónico".
- Verás un formulario para crear una nueva cuenta. Rellena el nombre de usuario (por ejemplo,
tienda), elige el dominio (si tienes varios) y asigna una contraseña segura. Te recomiendo usar el generador de contraseñas que te ofrece el propio cPanel. - Haz clic en "Crear".
¡Importante! Anota bien el correo electrónico completo (ej. tienda@tudominio.com) y la contraseña, porque los necesitaremos en unos minutos.
Paso 2: Encontrar los datos SMTP de tu cPanel
cPanel suele tener dos opciones para el servidor SMTP: mail.tudominio.com o localhost. La más fiable es la primera, pero a veces la segunda es la única que funciona. Lo ideal es usar mail.tudominio.com.
En cuanto al puerto, lo más habitual es usar el puerto 465 (SSL) o el puerto 587 (TLS). En cPanel, el 465 es el más común para la conexión SMTP.
[INFO] Aunque muchos tutoriales mencionan el puerto 26, es más seguro y estándar usar el 465 o el 587. El puerto 26 es una herencia de configuraciones antiguas y puede no estar disponible en tu servidor.
Paso 3: Configurar PrestaShop (Versiones 1.7 y 8.x)
Ahora viene la parte visual. Vamos a meter los datos en tu tienda.
-
Accede al Panel de Administración de tu PrestaShop (la URL que termina en
/admino similar). -
En el menú lateral izquierdo, ve a la pestaña "Parámetros avanzados" y luego haz clic en "Correo electrónico".
-
Se abrirá una pantalla con varias opciones. Lo primero que verás es el "Modo de envío de correos". Por defecto estará en "Usar la función mail() de PHP". Cámbialo a "Usar mis propios parámetros SMTP". Al hacer esto, se desplegarán un montón de campos nuevos.
-
Ahora, rellena los campos con los datos de tu cPanel:
- Servidor SMTP:
mail.tudominio.com(reemplaza por tu dominio real). - Usuario SMTP:
tienda@tudominio.com(la cuenta completa que creaste). - Contraseña SMTP: La contraseña que le pusiste a esa cuenta.
- Cifrado: Elige "SSL" (es el más común y seguro). Si no te funciona, prueba con "TLS".
- Puerto del servidor SMTP: Si elegiste SSL, usa el 465. Si elegiste TLS, usa el 587.
- Servidor SMTP:
-
Deja la opción "No utilizar" en el apartado de autenticación, ya que al poner usuario y contraseña, PrestaShop ya la está usando.
-
Haz clic en "Guardar" en la parte superior derecha.
Paso 4: Probar el envío de correos en PrestaShop
Una vez guardado, es hora de la verdad. En la misma pantalla de configuración, verás un botón que dice "Enviar un correo de prueba".
- Escribe una dirección de correo electrónico a la que tengas acceso (no la del propio cPanel, mejor una de Gmail o similar).
- Haz clic en el botón.
Si todo ha ido bien, recibirás un correo de prueba en unos segundos. Si no lo recibes, revisa la bandeja de spam. Si aun así no aparece, vuelve al paso 3 y verifica que los datos sean exactos. A veces un simple error de mayúsculas en la contraseña o un mail. mal escrito es el culpable.
Configurar SMTP en PrestaShop usando Outlook (Microsoft 365)
Esta opción es ideal si prefieres no usar el correo de tu hosting o si tu hosting no ofrece servicio de correo. Usar Outlook (o cualquier cuenta de Microsoft 365) es muy fiable, aunque el remitente mostrará tu dirección de Outlook (ej. tucuenta@outlook.com).
Paso 1: Activar la autenticación en dos pasos (Obligatorio)
Microsoft, por seguridad, ya no permite usar una contraseña normal para configurar aplicaciones de terceros como PrestaShop. Es un requisito imprescindible tener la autenticación en dos pasos (2FA) activada en tu cuenta de Outlook.
- Ve a la configuración de seguridad de tu cuenta Microsoft (account.microsoft.com/security).
- Activa la "Verificación en dos pasos" si no la tienes.
- Una vez activada, busca la opción "Nueva contraseña de aplicación" o "App password". Es posible que tengas que buscarla en la sección de "Opciones de seguridad avanzadas".
- Genera una contraseña de aplicación para "Correo". Microsoft te dará una contraseña de 16 caracteres. ¡Guárdala! Es la única vez que la verás. No es tu contraseña normal, es una clave especial para este fin.
[WARNING] Sin la verificación en dos pasos, no podrás generar una contraseña de aplicación. Este es el paso que más frustración causa, así que asegúrate de hacerlo bien.
Paso 2: Conocer los datos SMTP de Outlook
Los datos de conexión para Outlook son fijos y no cambian:
- Servidor SMTP:
smtp.office365.com - Puerto:
587(es el estándar para TLS) - Cifrado:
TLS - Usuario: Tu dirección de correo completa de Outlook (ej.
tucuenta@outlook.com). - Contraseña: La contraseña de aplicación de 16 caracteres que generaste en el paso anterior.
Paso 3: Configurar PrestaShop con los datos de Outlook
El proceso es idéntico al anterior.
-
Ve a "Parámetros avanzados" > "Correo electrónico" en tu panel de PrestaShop.
-
Cambia el modo a "Usar mis propios parámetros SMTP".
-
Rellena los campos:
- Servidor SMTP:
smtp.office365.com - Usuario SMTP:
tucuenta@outlook.com - Contraseña SMTP: La contraseña de aplicación de 16 caracteres.
- Cifrado:
TLS - Puerto del servidor SMTP:
587
- Servidor SMTP:
-
Guarda los cambios.
Paso 4: Enviar el correo de prueba
Igual que antes, usa el botón "Enviar un correo de prueba" para verificar que todo funciona. Deberías recibir el correo en la dirección que indiques.
Solución de problemas comunes (FAQ)
Es normal que no salga a la primera. Aquí tienes las soluciones a los problemas más típicos.
No recibo el correo de prueba
- Revisa el spam: Es el primer paso. El correo de prueba puede caer ahí.
- Verifica el puerto y cifrado: Asegúrate de que el puerto y el cifrado son compatibles. SSL con 465 y TLS con 587 son las combinaciones estándar.
- Comprueba las credenciales: Un error de escritura en el usuario o la contraseña es lo más común. Cópialo y pégalo directamente.
- Prueba con
localhost: En cPanel, simail.tudominio.comfalla, prueba a ponerlocalhostcomo servidor SMTP, manteniendo el puerto 465.
El correo se envía pero va a spam
- Configura SPF y DKIM: Estos son registros DNS que verifican que tu servidor está autorizado para enviar correos en nombre de tu dominio. En cPanel, suelen estar en la sección "Correo Electrónico" > "Autenticación de correo". Actívalos o verifica que estén correctos. Si usas Outlook, este paso no aplica.
El puerto 587 no funciona con cPanel
- Algunos hostings bloquean el puerto 587 si no tienen un certificado SSL en el dominio. En ese caso, usa el puerto 465 con cifrado SSL, que es el más habitual en cPanel.
¿Puedo usar Gmail en lugar de Outlook?
- Sí, el proceso es similar al de Outlook. Deberás activar la verificación en dos pasos en tu cuenta de Google y generar una "Contraseña de aplicación". Los datos SMTP de Gmail son
smtp.gmail.comy el puerto465(SSL) o587(TLS).
¿Qué es Syspanel y tiene que ver con esto?
- Syspanel (conocido popularmente como HestiaCP) es otro panel de control de hosting, alternativo a cPanel. Si tu hosting usa Syspanel, el proceso para crear la cuenta de correo es diferente al de cPanel, pero la configuración final en PrestaShop es exactamente la misma. La principal diferencia es que el acceso a tu panel de control será en el puerto 2106 (ej.
tudominio.com:2106). Dentro de Syspanel, busca la sección de "Mail" para crear tu cuenta de correo.
Sigo sin saber qué significa "SMTP"
- No te preocupes. SMTP son las siglas de Simple Mail Transfer Protocol (Protocolo Simple de Transferencia de Correo). Es el idioma que usan los servidores de correo para hablar entre ellos. Al configurarlo en PrestaShop, le estás diciendo a tu tienda exactamente qué servidor de correo usar y con qué credenciales para entregar los mensajes.
Consejos finales para un envío de correos perfecto
Una vez que ya tengas el SMTP funcionando, aquí van unos consejos extra para que todo siga yendo sobre ruedas.
- Mantén tu PrestaShop actualizado: Las versiones antiguas pueden tener bugs que afecten al envío de correos.
- Usa un remitente claro: Configura el nombre del remitente en PrestaShop (en "Parámetros avanzados" > "Correo electrónico") para que tus clientes vean algo como "Tienda Online de Ejemplo" en lugar de una dirección de correo fría.
- No marques tus propios correos como spam: Si estás probando el envío, asegúrate de no marcar los correos de tu propia tienda como spam en tu cliente de correo, ya que esto puede afectar a la reputación de tu dominio.
- Revisa los logs: Si tienes problemas, en el propio PrestaShop, en la misma pantalla de configuración de correo, hay un enlace a "Registro de errores". Ahí verás mensajes detallados que te ayudarán a diagnosticar el problema.
Configurar el SMTP en PrestaShop es una de esas tareas que parecen un mundo, pero que una vez hechas, te dan una tranquilidad enorme. Ya no tendrás que preocuparte por si tu cliente recibió o no el email de confirmación de su compra. Siguiendo estos pasos, habrás dado un salto de calidad en la comunicación con tus clientes y en la profesionalidad de tu negocio online.
Ahora sí, ve y prueba a hacer un pedido de prueba en tu tienda. ¡Verás cómo el correo llega al instante!
