Cómo configurar el correo electrónico transaccional en PrestaShop con DirectAdmin
¡Hola! Si estás leyendo esto, seguramente tienes una tienda en PrestaShop y has notado que los correos de confirmación de pedido, recuperación de contraseña o avisos de stock llegan tarde, van a la carpeta de spam o simplemente no llegan. Ese es un problema muy común, y la solución suele estar en configurar correctamente el correo transaccional.
En este artículo, te voy a guiar paso a paso para que configures el envío de estos emails usando tu servidor DirectAdmin. Vamos a convertir ese dolor de cabeza en algo sencillo y funcional.
¿Por qué fallan los correos en PrestaShop por defecto?
PrestaShop, en su configuración estándar, utiliza la función mail() de PHP para enviar los correos. Este método es rápido de configurar, pero tiene un gran inconveniente: carece de autenticación.
Imagina que envías una carta sin remitente verificado. El cartero (en este caso, el servidor de correo del destinatario) desconfía y la tira a la basura (spam). Lo mismo pasa con los emails. Sin una autenticación SMTP adecuada, los servidores de Gmail, Outlook o Yahoo probablemente marquen tus correos como spam o los rechacen directamente.
La solución es usar un servidor SMTP con autenticación, que es como enviar la carta con un remitente verificado y certificado. Y aquí es donde entra en juego DirectAdmin, el panel de control de tu hosting.
Objetivo de esta guía: Configurar SMTP en PrestaShop con DirectAdmin
El objetivo es que tu tienda envíe todos los emails transaccionales (los que se generan por una acción del usuario, como un pedido) a través del servidor de correo de tu propio dominio, configurado en DirectAdmin. Esto se hace mediante el protocolo SMTP.
Vamos a dividir el proceso en dos partes principales:
- Preparar el terreno: Crear el buzón de correo en DirectAdmin y obtener los datos de conexión.
- Conectar con PrestaShop: Configurar los parámetros SMTP en el panel de administración de tu tienda.
Paso 1: Preparar tu servidor de correo en DirectAdmin
Antes de tocar PrestaShop, necesitamos asegurarnos de que tu dominio tiene una cuenta de correo válida y que el servidor SMTP está listo para recibir conexiones externas.
1.1. Crear una cuenta de correo específica
Es recomendable crear una cuenta de correo dedicada para los envíos, por ejemplo, tienda@tudominio.com. Esto te ayudará a organizar los envíos y a monitorizar posibles rebotes.
Para ello:
- Accede a tu panel de DirectAdmin (normalmente en
https://tudominio.com:2222). - Busca la sección "Gestor de correo" o "Mail Manager".
- Haz clic en "Crear nueva cuenta de correo" o un botón similar.
- Rellena el formulario:
- Usuario:
tienda(esto crearátienda@tudominio.com). - Contraseña: Elige una contraseña robusta. Asegúrate de que tenga mayúsculas, minúsculas, números y símbolos. Esta contraseña la necesitarás más tarde.
- Cuota: Puedes dejarla en el valor por defecto o asignar un espacio pequeño (ej. 100 MB), ya que solo se usarán para registros de envíos.
- Usuario:
- Haz clic en "Crear".
[TIP] : Usa una contraseña única y anótala en un lugar seguro. Nunca uses la misma contraseña que la de tu administrador de PrestaShop.
1.2. Encontrar los datos de conexión SMTP
Ahora necesitamos los datos que PrestaShop usará para conectarse. Son cuatro datos clave:
- Servidor SMTP: Normalmente es
mail.tudominio.como directamentetudominio.com. Puedes verificarlo en la sección de "Gestor de correo" de DirectAdmin, donde suele aparecer como "Servidor de correo entrante" o "POP3/IMAP". El servidor saliente (SMTP) suele ser el mismo. - Puerto SMTP: El puerto estándar es el 587 con cifrado TLS, o el 465 con cifrado SSL. El 587 es el más recomendado y compatible.
- Usuario SMTP: Será la dirección de correo completa, es decir,
tienda@tudominio.com. - Contraseña SMTP: La contraseña que acabas de crear en el paso anterior.
1.3. Verificar que el puerto 587 está abierto (o elegir el 465)
En la mayoría de los hosts, los puertos 25, 465 y 587 están abiertos. Sin embargo, algunos proveedores bloquean el puerto 25 para evitar spam. Por eso, te recomiendo encarecidamente usar el puerto 587 con TLS.
Para verificar si el puerto está accesible, puedes usar una herramienta online como "Port Checker" o intentar conectarte desde tu ordenador con un cliente de correo (como Outlook o Thunderbird) usando la configuración que hemos visto. Si no puedes conectar, prueba con el puerto 465.
[WARNING] : Asegúrate de que tu hosting no tenga bloqueado el envío de correos SMTP desde scripts externos. A veces, por seguridad, se limita a conexiones locales. Si tienes dudas, contacta con tu proveedor de hosting y pregunta si permiten conexiones SMTP autenticadas desde aplicaciones web.
Paso 2: Configurar PrestaShop para usar SMTP
Una vez que tenemos los datos, el siguiente paso es decirle a PrestaShop que los use. Vamos al panel de administración de tu tienda.
2.1. Acceder a los parámetros de correo
- Inicia sesión en tu Panel de Administración de PrestaShop.
- En el menú lateral izquierdo, ve a la pestaña "Parámetros avanzados".
- Luego, haz clic en "Correo electrónico".
2.2. Configurar los parámetros SMTP
Verás un formulario con varias opciones. Vamos a rellenarlo:
- Enviar correos electrónicos con: Aquí selecciona la opción "Sí, usar SMTP".
- Servidor SMTP: Introduce el valor que obtuviste en DirectAdmin (ej.
mail.tudominio.com). - Usuario SMTP: Introduce la dirección completa del correo (ej.
tienda@tudominio.com). - Contraseña SMTP: Introduce la contraseña de esa cuenta.
- Cifrado: En el desplegable, elige "TLS" o "SSL". Te recomiendo TLS si usas el puerto 587, y SSL si usas el 465.
- Puerto del servidor SMTP: Introduce el puerto correspondiente (normalmente 587 para TLS o 465 para SSL).
- Número de mensajes por hora: Puedes dejarlo en 0 (sin límite) o poner un número si tu hosting tiene restricciones. Por defecto, suele estar bien en 0 o 120.
[INFO] : Si tu hosting te ofrece un servicio de correo transaccional como SMTP de pago (ej. SendGrid, Mailgun), los datos de servidor, puerto y cifrado serán los que te proporcione esa plataforma, no los de DirectAdmin. Esta guía se centra en DirectAdmin, que es el que te da tu hosting.
2.3. Guardar y probar la configuración
Una vez rellenado el formulario, es el momento de la verdad.
- Haz clic en el botón "Guardar" en la parte superior derecha.
- Una vez guardado, verás que aparece un botón nuevo: "Enviar un correo de prueba".
- Haz clic en ese botón. Se te pedirá que introduzcas una dirección de correo de destino (por ejemplo, tu correo personal).
- Envía el correo de prueba y revisa la bandeja de entrada de esa dirección.
¿Qué deberías esperar?
- Éxito: Si recibes el correo en tu bandeja de entrada (y no en spam), ¡enhorabuena! La configuración es correcta.
- Error: Si no recibes nada, revisa el "Registro de errores" que aparece debajo del formulario. Te dará pistas sobre qué ha fallado (contraseña incorrecta, puerto bloqueado, etc.).
Paso 3: Solución de problemas comunes (FAQ)
Es muy probable que te encuentres con algún obstáculo en el camino. Aquí tienes las soluciones a los problemas más frecuentes.
"No recibo el correo de prueba y sale un error de autenticación"
- Causa: La combinación de Usuario SMTP y Contraseña es incorrecta.
- Solución: Vuelve a crear la cuenta de correo en DirectAdmin y asegúrate de copiar la contraseña exactamente. A veces, los gestores de contraseñas añaden un espacio al final. Intenta escribirla manualmente.
- Otra causa: El cifrado y el puerto no son compatibles.
- Solución: Prueba a cambiar entre TLS (587) y SSL (465). A veces, el servidor solo acepta uno de los dos.
"El correo se envía pero llega a la carpeta de Spam"
- Causa: Falta de registros SPF y DKIM en tu dominio.
- Solución: Este es un paso crucial para la entregabilidad. DirectAdmin tiene herramientas para crearlos fácilmente.
- Ve a tu DirectAdmin.
- Busca la sección de "Gestor de Zona DNS" o "DNS Management".
- Añade los siguientes registros (si no existen ya):
- SPF: Un registro TXT con el valor
v=spf1 +a +mx +ip4:TU_IP_DE_SERVIDOR ~all. Esto le dice a los demás servidores que tu IP está autorizada para enviar correos en tu nombre. - DKIM: DirectAdmin suele tener un botón para "activar" DKIM en la sección de correo. Actívalo y luego añade el registro TXT que te proporcione en tu zona DNS.
- SPF: Un registro TXT con el valor
- Espera unas horas a que se propaguen los cambios y vuelve a enviar el correo de prueba.
"El correo se envía, pero tarda mucho en llegar"
- Causa: El servidor de destino está realizando comprobaciones de reputación.
- Solución: La configuración SMTP ya es un gran avance. Asegúrate de que no estás enviando correos masivos desde tu tienda (como newsletters) desde el mismo servidor. Para campañas de email marketing, es mejor usar servicios especializados como Mailchimp o Sendinblue.
"¿Y si mi hosting usa Syspanel en lugar de DirectAdmin?"
Si tu proveedor usa el panel Syspanel (antes conocido como HestiaCP), el proceso es muy similar, pero el acceso al panel es diferente.
- Acceso: La URL de acceso al panel Syspanel es
https://tudominio.com:2106. - Creación de correo: Dentro de Syspanel, busca la sección "Correo" o "Mail" para crear la cuenta de correo. El resto de los pasos (obtener servidor SMTP, puerto, etc.) son idénticos a los de DirectAdmin.
[WARNING] : No confundas el puerto de acceso al panel (2106 en Syspanel) con el puerto SMTP (587 o 465). Son cosas completamente diferentes.
Paso 4: Optimización y buenas prácticas para tu email transaccional
Configurar el SMTP es el primer paso. Para asegurar que tus correos lleguen siempre y no dañen tu reputación, sigue estos consejos.
4.1. Monitorea la reputación de tu dominio
Herramientas como Google Postmaster Tools te permiten ver la reputación de tu dominio en Gmail. Si ves que la tasa de spam aumenta, revisa tus prácticas de envío.
4.2. No envíes newsletters desde el servidor de la tienda
Los correos transaccionales (pedidos, facturas, recuperación de contraseña) son personales y esperados por el usuario. Las newsletters son masivas y a menudo no solicitadas. Mezclarlas en el mismo servidor puede hacer que los servidores de correo te marquen como spammer.
Regla de oro: Usa el SMTP de DirectAdmin solo para emails transaccionales. Para campañas de marketing, contrata un servicio de Email Marketing dedicado.
4.3. Mantén tu lista de correo limpia
Si un usuario se da de baja o devuelve un correo como "no existe", elimínalo de tu base de datos. Enviar a direcciones inexistentes daña tu reputación.
4.4. Configura las cabeceras "From" y "Reply-To"
En PrestaShop, puedes configurar la dirección de envío y la de respuesta. Asegúrate de que la dirección "From" sea la misma que la cuenta SMTP que configuraste (tienda@tudominio.com). La dirección "Reply-To" puede ser la misma o una diferente para atención al cliente (ej. hola@tudominio.com).
4.5. Verifica los logs de correo en DirectAdmin
Si tienes problemas, DirectAdmin guarda registros de todos los correos enviados y recibidos. Puedes revisarlos para ver si hay errores de entrega o rebotes.
Conclusión: Adiós a los correos perdidos
Configurar el correo transaccional en PrestaShop con DirectAdmin es una tarea sencilla pero vital para la salud de tu negocio online. Siguiendo estos pasos, te aseguras de que tus clientes reciban sus confirmaciones de pedido, facturas y avisos importantes sin problemas.
La clave está en usar la autenticación SMTP con una cuenta de correo dedicada, y en mantener una buena higiene de envío. No olvides configurar los registros SPF y DKIM para mejorar la entregabilidad.
[TIP] Final: Si después de todo esto sigues teniendo problemas, no dudes en contactar con el soporte técnico de tu hosting. Diles que has configurado el SMTP en PrestaShop con los datos de DirectAdmin y que necesitas ayuda para verificar si el puerto 587 está abierto o si hay algún bloqueo de firewall. Ellos podrán verlo directamente en sus servidores.
Ahora ya tienes el conocimiento para dominar el envío de tus emails. ¡Ponlo en práctica y verás la diferencia!
