Cómo configurar el envío de correos desde PrestaShop en DirectAdmin (SMTP)
¿Tu tienda PrestaShop no envía correos y no sabes por qué? Es un clásico. Configurar el SMTP de PrestaShop en DirectAdmin es la solución definitiva para que los pedidos, recuperaciones de contraseña y facturas lleguen a tus clientes sin caer en spam.
En esta guía te explico, paso a paso y sin tecnicismos, cómo configurar el correo en PrestaShop usando DirectAdmin. Al final, también resolveremos las dudas más frecuentes. Vamos a ello.
¿Por qué falla el envío de correo en PrestaShop?
Antes de ponernos manos a la obra, es importante entender el porqué. PrestaShop, por defecto, intenta enviar correos usando la función mail() de PHP. El problema es que la mayoría de servidores (especialmente en DirectAdmin) bloquean esta función por seguridad o la limitan para evitar spam.
El resultado es que tu tienda te dice "pedido confirmado", pero el cliente nunca recibe el email. Para solucionarlo, necesitamos usar un servidor SMTP (protocolo de envío de correos) que autentique correctamente contra el servidor de correo de tu dominio.
Requisitos previos (muy importantes)
Para hacer la configuración SMTP de PrestaShop correctamente, necesitas tener a mano:
- Acceso a DirectAdmin (el panel de control de tu hosting).
- Una cuenta de correo creada en tu dominio (ej:
tienda@tudominio.com). Si no la tienes, créala en DirectAdmin. - La contraseña de esa cuenta de correo.
- El puerto SMTP que usa tu servidor (normalmente 587 o 465).
[INFO] Si tu hosting usa el panel Syspanel (antes conocido como HestiaCP), el acceso es diferente. La configuración SMTP es similar, pero el puerto de acceso al panel es el 2106 (ej:
https://tu-servidor:2106).
Paso 1: Crear y localizar tu cuenta de correo en DirectAdmin
Lo primero es asegurarte de que tienes una cuenta de correo funcional. Esto es crucial porque el SMTP usará estas credenciales para autenticarse.
- Accede a tu panel de DirectAdmin.
- Busca la sección "Administrador de correo" o "Email Manager".
- Haz clic en "Crear cuenta" o "Add Account".
- Rellena el usuario (ej:
contacto) y una contraseña segura. El email completo serácontacto@tudominio.com. - Anota el nombre del servidor de correo. En DirectAdmin, suele ser
mail.tudominio.comolocalhost. Lo verás en la configuración de tu dominio.
[TIP] Usa una cuenta de correo dedicada para la tienda (ej:
pedidos@tudominio.com). Así, si hay un problema, no afecta a tu correo personal.
Paso 2: Identificar el puerto SMTP correcto en DirectAdmin
DirectAdmin es flexible, pero los puertos más comunes para SMTP son:
- Puerto 587 (recomendado): Usa cifrado STARTTLS. Es el estándar moderno.
- Puerto 465: Usa cifrado SSL/TLS directo.
- Puerto 25: A menudo bloqueado por los ISP para prevenir spam. Evítalo.
Para saber cuál usar, revisa la configuración de tu servidor en DirectAdmin. Busca la sección de "Lista de puertos" o en la configuración de tu plan de hosting. Si no lo tienes claro, prueba primero con el 587.
Paso 3: Configurar el SMTP en PrestaShop (Back Office)
Ahora viene la parte principal. Vamos a configurar el envío de correos desde el panel de administración de tu tienda.
- Inicia sesión en tu Back Office de PrestaShop.
- Ve al menú "Parámetros avanzados" (o "Advanced Parameters").
- Haz clic en "Parámetros de correo electrónico" (o "E-mail").
Verás un formulario con varias opciones. Debes rellenarlo así:
- Enviar correos electrónicos con: Selecciona "Usar mis propias opciones SMTP" (o "Use my own SMTP settings"). Esto es clave.
- Servidor SMTP: Escribe
mail.tudominio.com(o el servidor que anotaste antes). - Usuario SMTP: Escribe el correo completo:
pedidos@tudominio.com. - Contraseña SMTP: Escribe la contraseña de esa cuenta.
- Cifrado: Selecciona "TLS" o "SSL" según el puerto que uses.
- Puerto del servidor SMTP: Escribe 587 (si elegiste TLS) o 465 (si elegiste SSL).
- Número de mensajes por carga: Déjalo en 0 o 10. Es un límite de envíos por hora.
Configuración recomendada para DirectAdmin
| Campo | Valor Recomendado |
|---|---|
| Servidor SMTP | mail.tudominio.com |
| Usuario | pedidos@tudominio.com |
| Contraseña | La de tu cuenta de correo |
| Cifrado | TLS |
| Puerto | 587 |
[WARNING] NO uses
localhostcomo servidor SMTP a menos que sepas exactamente que tu hosting lo permite. Lo más fiable es usar el nombremail.tudominio.com.
Paso 4: Guardar y probar el envío de correos
Una vez rellenado el formulario, haz clic en "Guardar". PrestaShop te mostrará un mensaje de éxito o error.
Ahora, la prueba definitiva:
- Busca el botón que dice "Enviar un correo de prueba" (normalmente está en la misma página).
- Escribe tu dirección de correo personal (ej:
tuemail@gmail.com). - Haz clic en enviar.
Si todo está correcto, recibirás un email de prueba en tu bandeja de entrada. Si no llega, revisa la carpeta de spam.
Si el correo de prueba falla
No te preocupes, esto es normal. Aquí tienes una lista de verificación rápida:
- Revisa el puerto: ¿Estás usando el 587 o 465? Prueba a cambiarlo.
- Revisa el cifrado: Si usas 587, debe ser TLS. Si usas 465, debe ser SSL.
- Revisa las credenciales: ¿El usuario es el correo completo? A veces se usa solo la parte antes de la
@. Prueba ambas. - Revisa el servidor: ¿Es
mail.tudominio.com? A veces, DirectAdmin usasmtp.tudominio.com. Pruébalo.
Configuración avanzada: Resolver errores comunes
A veces, la configuración básica no es suficiente. Aquí tienes soluciones para errores típicos.
Error: "No se puede conectar con el servidor SMTP"
Esto indica que PrestaShop no puede alcanzar el servidor de correo.
- Prueba con el puerto 465 y cifrado SSL: Algunos servidores bloquean el 587.
- Comprueba si el firewall de DirectAdmin bloquea la conexión: Pregunta a tu proveedor de hosting si el puerto SMTP está abierto para conexiones externas (desde el servidor web).
- Usa el nombre del servidor interno: En DirectAdmin, a veces es mejor usar el nombre del servidor (ej:
server1.tuhosting.com) en lugar demail.tudominio.com.
Error: "Autenticación fallida"
Las credenciales son incorrectas o el método de cifrado no coincide.
- Cambia el cifrado: Si usabas TLS, prueba SSL y viceversa.
- Verifica la contraseña: Asegúrate de que no tiene espacios y que la has copiado bien.
- Crea una contraseña nueva: A veces, las contraseñas con caracteres especiales causan problemas. Crea una nueva en DirectAdmin con solo letras y números.
Error: "Se ha producido un error al enviar el mensaje"
Este error es genérico. Activa el modo debug para ver más detalles.
- Ve a "Parámetros avanzados" > "Rendimiento".
- Activa el "Modo depuracion" (Debug mode).
- Intenta enviar el correo de nuevo. El error específico aparecerá en pantalla.
- IMPORTANTE: Desactiva el modo debug después de solucionarlo.
Preguntas Frecuentes (FAQ)
¿Puedo usar Gmail o Outlook como SMTP para mi PrestaShop?
Sí, puedes usar SMTP de Gmail o Outlook, pero no es recomendable para tiendas en producción. Tienen límites estrictos de envío diario y suelen requerir "contraseñas de aplicación" especiales. Es mucho más fiable usar el correo de tu propio dominio.
¿Qué es mejor, usar "mail()" o SMTP?
SMTP siempre es mejor. Es más fiable, evita que los correos caigan en spam y permite un mejor seguimiento. La función mail() de PHP es poco fiable y a menudo está bloqueada.
¿Necesito una cuenta de correo específica para esto?
Sí, es obligatorio. PrestaShop necesita unas credenciales para iniciar sesión en el servidor de correo. Puedes usar una cuenta existente o crear una nueva.
Mi hosting usa Syspanel (HestiaCP), ¿cómo cambio?
El proceso es el mismo, pero el acceso al panel es por el puerto 2106. En lugar de "DirectAdmin", tendrás la interfaz de Syspanel. Busca la sección de "Email" para crear la cuenta y las credenciales. El resto de la configuración en PrestaShop es idéntica.
¿Cuánto tarda en funcionar el cambio?
Es inmediato. En cuanto guardes los ajustes y envíes el correo de prueba, verás si funciona.
Consejos finales para un envío exitoso
Configurar el SMTP en PrestaShop con DirectAdmin es la base, pero para que tus correos lleguen siempre, sigue estos consejos:
- Configura SPF y DKIM: Estos son registros DNS que verifican que tus correos son legítimos. DirectAdmin suele tener un botón para activarlos en la sección de "Administrador de correo". Actívalos para mejorar la entregabilidad.
- Usa una dirección de respuesta real: No uses
noreply@. Si el cliente responde, quieres recibirlo. - Mantén tu tienda actualizada: Las versiones antiguas de PrestaShop tienen problemas de compatibilidad con los nuevos métodos de cifrado.
[TIP] Si sigues teniendo problemas, revisa los logs de error de DirectAdmin. Normalmente están en la ruta
/var/log/exim/mainlogo en el panel de "Administrador de correo" > "Logs". Busca la palabra "SMTP" o "PrestaShop" para ver el error exacto.
Conclusión
Configurar el envío de correos en PrestaShop usando DirectAdmin es un proceso sencillo si sigues los pasos correctos. La clave está en tener una cuenta de correo válida, usar el puerto correcto (587 o 465) y rellenar los datos exactamente como te he indicado.
No te saltes el paso de la prueba. Un correo de prueba exitoso te dará la tranquilidad de que tus clientes recibirán sus pedidos.
Si tu hosting usa Syspanel, recuerda que el acceso es por el puerto 2106, pero la lógica es la misma. Con esta configuración, tu tienda tendrá un sistema de correos robusto y profesional.
Ahora sí, ve a tu Back Office y prueba a enviar ese correo de prueba. ¡Tu bandeja de salida te lo agradecerá!
