Cómo configurar el correo SMTP en PrestaShop para evitar spam (DirectAdmin)
¿Por qué tus correos de PrestaShop caen en spam?
Si tus clientes no reciben los emails de confirmación de pedido, recuperación de contraseña o facturas, el problema casi siempre es el mismo: PrestaShop está usando la función mail() de PHP para enviar los correos. Este método es muy básico y los servidores de correo como Gmail, Outlook o Yahoo lo consideran poco fiable, por lo que lo marcan como spam o lo rechazan directamente.
La solución definitiva es configurar SMTP en PrestaShop. SMTP (Protocolo Simple de Transferencia de Correo) es el estándar que usan todos los servidores de correo profesionales. Al configurarlo correctamente, tus emails saldrán con autenticación, desde un servidor legítimo y con las cabeceras adecuadas. Esto aumenta drásticamente la tasa de entrega en la bandeja de entrada.
En esta guía, te voy a explicar paso a paso cómo hacerlo usando DirectAdmin, que es uno de los paneles de control de hosting más comunes. No necesitas ser un experto técnico, solo seguir las instrucciones con calma.
Requisitos previos antes de empezar
Antes de tocar nada en PrestaShop, necesitas tener a mano cierta información que obtendrás de tu panel de control de hosting (DirectAdmin).
1. Acceso a DirectAdmin
Necesitas las credenciales de acceso a tu panel de DirectAdmin. Normalmente las recibiste por email al contratar el hosting. La URL de acceso suele ser algo como https://tudominio.com:2222.
2. Crear una cuenta de correo dedicada
Te recomiendo encarecidamente crear una cuenta de correo específica para el envío, por ejemplo envios@tudominio.com. No uses tu correo personal ni el principal de la tienda. Esto aísla problemas y facilita el diagnóstico.
3. Datos que necesitarás
- Servidor SMTP: normalmente es
mail.tudominio.comosmtp.tudominio.com. - Puerto SMTP: normalmente el
587(con STARTTLS) o el465(con SSL). El puerto25suele estar bloqueado por los ISP para evitar spam. - Usuario SMTP: la dirección de correo completa, por ejemplo
envios@tudominio.com. - Contraseña SMTP: la contraseña que asignaste a esa cuenta de correo.
Paso 1: Crear la cuenta de correo en DirectAdmin
Este paso es fundamental. Si ya tienes una cuenta de correo creada para tu dominio, puedes omitirlo. De lo contrario, sigue estos pasos:
- Inicia sesión en DirectAdmin.
- En el menú principal, busca la sección "Gestor de Correo" o "Email Manager".
- Haz clic en "Crear nueva cuenta de correo" o un botón similar.
- Rellena los campos:
- Usuario:
envios(sin el @tudominio.com). - Contraseña: elige una contraseña fuerte (mínimo 12 caracteres, con mayúsculas, minúsculas, números y símbolos).
- Cuota: puedes dejarla en el mínimo (10 MB es suficiente para envíos).
- Usuario:
- Haz clic en "Crear".
[INFO] Anota la contraseña en un lugar seguro. La necesitarás en el siguiente paso.
Paso 2: Configurar SMTP en PrestaShop (Back Office)
Ahora vamos a la parte más importante: configurar PrestaShop para que use SMTP en lugar de la función mail() de PHP.
- Accede al Back Office de tu PrestaShop (normalmente en
tudominio.com/admin). - En el menú lateral izquierdo, ve a "Parámetros avanzados".
- Haz clic en "Rendimiento" o "Parámetros avanzados" (el nombre exacto puede variar según la versión de PrestaShop, pero suele estar en "Parámetros avanzados" > "Rendimiento" o directamente "Parámetros avanzados" > "Parámetros de correo"). En versiones recientes (1.7 y 1.8) es: "Parámetros avanzados" > "Parámetros de correo".
[TIP] Si no encuentras la opción, usa el buscador del Back Office escribiendo "correo" o "mail".
Una vez dentro, verás una sección llamada "Configuración de correo electrónico". Aquí es donde debes cambiar las cosas.
Configuración del envío de email en PrestaShop
- Enviar correos electrónicos: selecciona "Sí".
- Usar el sistema de correo de PHP (
mail()): selecciona "No". Esta es la clave. - Usar SMTP: selecciona "Sí". Al hacerlo, se desplegarán los nuevos campos.
Ahora rellena los campos SMTP:
- Servidor SMTP: introduce
mail.tudominio.com(o el que te haya dado tu proveedor). - Puerto SMTP: introduce
587. - Cifrado: selecciona "TLS". Si no funciona, prueba con "SSL" y puerto
465. - Usuario SMTP: introduce la dirección de correo completa, por ejemplo
envios@tudominio.com. - Contraseña SMTP: introduce la contraseña que creaste en DirectAdmin.
- Número de mensajes máximos por hora: puedes dejarlo en
0(sin límite) o poner un número como100si tu proveedor lo limita. Si no estás seguro, déjalo en0.
Finalmente, haz clic en "Guardar" en la esquina superior derecha.
[WARNING] No confundas "Usar el sistema de correo de PHP" con "Usar SMTP". Debes tener "No" en la primera y "Sí" en la segunda.
Paso 3: Probar el envío de correos
PrestaShop tiene una herramienta integrada para probar el envío de emails sin necesidad de hacer un pedido de prueba.
- En la misma página de "Parámetros de correo", busca el botón "Enviar un email de prueba".
- Introduce una dirección de correo que tú controles (por ejemplo, tu Gmail personal).
- Haz clic en "Enviar".
Si todo está bien configurado, recibirás un email de prueba en tu bandeja de entrada en unos segundos.
¿Qué hacer si no llega?
- Revisa la carpeta de spam de tu correo de prueba.
- Comprueba que el puerto 587 esté abierto en tu firewall de hosting (DirectAdmin suele tenerlo abierto por defecto).
- Verifica que el usuario y la contraseña SMTP son exactamente los de la cuenta que creaste.
- Prueba con el puerto 465 y cifrado SSL si el 587 no funciona.
Configuración avanzada: SPF, DKIM y DMARC (imprescindible para no caer en spam)
Configurar SMTP es solo la mitad del trabajo. Para que tus correos no sean marcados como spam, necesitas que tu dominio esté autenticado. Esto se hace mediante registros DNS (SPF, DKIM y DMARC).
¿Qué son SPF, DKIM y DMARC?
- SPF (Sender Policy Framework): dice a los servidores de correo qué servidores están autorizados a enviar correos en nombre de tu dominio.
- DKIM (DomainKeys Identified Mail): añade una firma digital a tus correos que verifica que no han sido alterados y que realmente provienen de tu dominio.
- DMARC (Domain-based Message Authentication, Reporting & Conformance): indica a los servidores qué hacer si un correo falla las comprobaciones SPF o DKIM (rechazarlo, ponerlo en spam, etc.).
Cómo configurar SPF, DKIM y DMARC en DirectAdmin
- Inicia sesión en DirectAdmin.
- Ve a la sección "Administración de DNS" o "DNS Manager".
- Busca tu dominio y haz clic en "Gestionar".
Añadir registro SPF
Si no tienes un registro SPF, debes crear uno. Busca un registro tipo TXT con el nombre @ (o tu dominio). Si no existe, crea uno nuevo.
- Tipo:
TXT - Nombre:
@ - Valor:
v=spf1 +a +mx +ip4:TU_IP_DE_SERVIDOR ~all
[INFO] TU_IP_DE_SERVIDOR es la IP de tu servidor de hosting. Puedes encontrarla en DirectAdmin en la sección "Resumen de cuenta" o preguntando a tu proveedor.
Añadir registro DKIM
DirectAdmin suele generar automáticamente un registro DKIM. Para verificarlo o crearlo:
- En DirectAdmin, ve a "Gestor de Correo" > "DKIM".
- Si está activado, verás una clave pública. Si no, haz clic en "Activar DKIM".
- Copia la clave pública generada.
- Ve a "Administración de DNS" y crea un registro
TXTcon el nombredefault._domainkeyy el valor de la clave pública (que empieza porv=DKIM1; k=rsa; p=MIGf...).
Añadir registro DMARC
Crea un registro TXT con el nombre _dmarc.
- Tipo:
TXT - Nombre:
_dmarc - Valor:
v=DMARC1; p=quarantine; rua=mailto:dmarc@tudominio.com
[TIP] p=quarantine es una buena opción para empezar. Significa que los correos que no pasen las comprobaciones irán a spam. Si estás seguro de tu configuración, puedes usar p=reject para rechazarlos directamente.
Solución de problemas comunes con SMTP en PrestaShop
A veces, incluso con la configuración correcta, surgen problemas. Aquí tienes los más comunes y sus soluciones.
Error: "No se puede conectar al servidor SMTP"
Este es el error más frecuente. Significa que PrestaShop no puede comunicarse con el servidor de correo.
- Comprueba el puerto: asegúrate de que el puerto
587o465está abierto. Puedes usar la herramientatelneten tu ordenador para probarlo, pero si no sabes cómo, simplemente prueba con el otro puerto. - Comprueba el servidor:
mail.tudominio.coma veces no funciona si tu hosting usa un servidor distinto. Mira en DirectAdmin la sección "Resumen de cuenta" para ver el nombre exacto del servidor de correo (suele ser algo comoserver1.tudominio.comomx.tudominio.com). - Comprueba el cifrado: si usas
TLSy no funciona, prueba conSSLy viceversa.
Error: "Autenticación SMTP fallida"
Esto significa que el usuario o la contraseña son incorrectos.
- Revisa el usuario: debe ser la dirección de correo completa (
envios@tudominio.com), no solo el nombre de usuario. - Revisa la contraseña: asegúrate de no tener espacios al copiarla.
- Prueba a cambiar la contraseña en DirectAdmin y vuelve a intentarlo.
Los correos se envían pero siguen yendo a spam
Si los correos se envían pero caen en spam, el problema es de autenticación DNS.
- Verifica el SPF: usa herramientas online como
mxtoolbox.compara comprobar si tu SPF está bien configurado. - Verifica el DKIM: asegúrate de que la clave que pusiste en el DNS coincide con la de DirectAdmin.
- Revisa la reputación de tu IP: si tu servidor tiene una IP con mala reputación (por ejemplo, si otros sitios en el mismo servidor envían spam), será difícil arreglarlo. En ese caso, considera usar un servicio de email transaccional como SendGrid o Mailgun.
Preguntas frecuentes (FAQ) sobre SMTP en PrestaShop
¿Puedo usar el puerto 25 para SMTP?
Técnicamente sí, pero es muy probable que tu ISP o el servidor de destino lo bloqueen. El puerto 25 es el puerto estándar de envío de correo, pero es el más abusado por los spammers. Usa siempre el 587 (STARTTLS) o el 465 (SSL).
¿Necesito una cuenta de correo dedicada para SMTP?
No es estrictamente necesario, pero es muy recomendable. Si usas tu cuenta principal y algo falla, podrías perder emails importantes. Además, es más fácil de rastrear si tienes una cuenta separada.
¿Qué pasa si mi hosting usa Syspanel en lugar de DirectAdmin?
Syspanel (antes llamado HestiaCP) es otro panel de control popular. La configuración es muy similar, pero el acceso se realiza a través del puerto 2106 (por ejemplo, https://tudominio.com:2106). La lógica de crear la cuenta de correo y configurar los registros DNS es prácticamente idéntica.
¿Cuánto tiempo tarda en propagarse el DNS?
Los cambios en los registros DNS (SPF, DKIM, DMARC) pueden tardar entre 24 y 48 horas en propagarse por todo el mundo. Ten paciencia.
¿Puedo usar Gmail o Outlook como servidor SMTP para mi PrestaShop?
No es recomendable a largo plazo, ya que tienen límites de envío diarios muy bajos (alrededor de 500 emails/día) y pueden bloquear tu cuenta si envías muchos correos transaccionales. Es mejor usar el SMTP de tu propio hosting o un servicio especializado.
Mi hosting tiene el servicio de correo en un servidor diferente al de mi web. ¿Qué dirección SMTP uso?
En ese caso, tu proveedor de hosting te dará una dirección específica (por ejemplo, smtp.otroservidor.com). Usa esa dirección en lugar de mail.tudominio.com. La configuración en PrestaShop es exactamente la misma.
Conclusión: Di adiós a la carpeta de spam
Configurar SMTP en PrestaShop con DirectAdmin es un proceso sencillo que tiene un impacto enorme en la entregabilidad de tus correos. Siguiendo estos pasos, no solo evitarás que tus emails caigan en spam, sino que también mejorarás la confianza de tus clientes en tu tienda.
Recuerda que la autenticación DNS (SPF, DKIM y DMARC) es tan importante como el propio SMTP. No te saltes ese paso si quieres resultados profesionales.
Si tienes alguna duda, déjala en los comentarios y estaré encantado de ayudarte. ¡Buena suerte con tu tienda online!
