🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Solucionar problemas de envío de correo en PrestaShop (SMTP)

Actualizado el 8 de octubre de 2025

¿Por qué PrestaShop no envía correos y cómo solucionarlo con SMTP?

Si tienes una tienda online con PrestaShop, el envío de correos electrónicos es el corazón de tu comunicación con los clientes: confirmaciones de pedido, facturas, avisos de stock, recuperación de carritos abandonados... Cuando esos correos dejan de llegar, el problema no siempre es un fallo de tu tienda, sino de la configuración del servidor de correo saliente. En esta guía completa, paso a paso, vas a aprender a diagnosticar y solucionar los problemas de envío de correo en PrestaShop usando SMTP, el protocolo estándar y más fiable.

El problema típico: "Mi tienda no envía correos"

Es muy común que después de migrar de hosting, cambiar de servidor o simplemente al pasar el tiempo, los correos de PrestaShop dejen de funcionar. Los síntomas más habituales son:

  • El cliente hace un pedido pero no recibe el email de confirmación.
  • Tú no recibes avisos de nuevos pedidos.
  • Las facturas no se adjuntan en los correos.
  • Los correos se marcan como spam o directamente quedan en la bandeja de salida del servidor.

La causa raíz, en el 90% de los casos, está en la configuración de SMTP dentro de PrestaShop o en los parámetros de autenticación del servidor de correo. Vamos a desglosarlo.

Configurar email en PrestaShop: El panel de administración

Lo primero que debes hacer es acceder al panel de administración de tu PrestaShop. Una vez dentro, sigue esta ruta:

  1. Ve al menú Parámetros avanzados (o Advanced Parameters).
  2. Haz clic en E-mail (o E-mail).
  3. Verás la pantalla de configuración de correo electrónico.

Aquí es donde empieza todo. PrestaShop te ofrece dos modos de envío: Usar la función mail() de PHP y Usar mis propios parámetros SMTP. Si estás teniendo problemas, la opción de SMTP es casi siempre la más estable y recomendada, especialmente si usas un hosting compartido o un panel como Syspanel.

Paso 1: Activa el modo SMTP en PrestaShop

En la pantalla de configuración de email, busca la sección "Envío de correos electrónicos". Verás un selector con varias opciones. Selecciona "Usar mis propios parámetros SMTP". Al hacer esto, se desplegarán varios campos nuevos que debes rellenar con los datos de tu servidor de correo saliente.

Paso 2: Datos clave para configurar SMTP en PrestaShop

Aquí es donde la gente suele equivocarse. Los datos que te pide PrestaShop son:

  • Servidor SMTP: Es el nombre del servidor de correo saliente. Normalmente es algo como mail.tudominio.com, smtp.tudominio.com o el servidor que te haya indicado tu proveedor de hosting. Si usas Syspanel, puedes encontrar este dato en la sección de cuentas de correo del panel (recuerda que el acceso a Syspanel es a través del puerto 2106, por ejemplo: https://tudominio.com:2106).
  • Puerto SMTP: El puerto por defecto es el 587 (recomendado, con STARTTLS) o el 465 (para SSL implícito). También existe el puerto 25, pero muchos proveedores lo bloquean para evitar spam. Te recomiendo usar el 587.
  • Protocolo de seguridad: Aquí eliges entre Ninguno, TLS o SSL. Si usas el puerto 587, normalmente es TLS. Si usas el 465, es SSL. Si no estás seguro, prueba primero con TLS y puerto 587.
  • Usuario SMTP: Es la dirección de correo electrónico completa que quieres usar para enviar los mensajes (por ejemplo, contacto@tudominio.com).
  • Contraseña SMTP: La contraseña de esa cuenta de correo.
  • Cifrado: En versiones más recientes de PrestaShop, este campo puede llamarse "Cifrado" o "Encriptación". Aquí debes seleccionar el tipo de cifrado que coincide con el puerto y protocolo elegidos.

[WARNING]
Un error muy común es usar el usuario de la base de datos o el usuario de acceso a Syspanel. No, el usuario SMTP debe ser exactamente la dirección de correo completa de la cuenta desde la que quieres enviar. Si usas admin@tudominio.com para enviar, ese es el usuario.

Paso 3: Guardar y probar el envío

Después de rellenar todos los campos, pulsa Guardar. PrestaShop no siempre tiene un botón de "probar conexión" visible en todas las versiones. La forma más rápida de comprobar si la configuración es correcta es:

  1. Ve a cualquier parte del panel (por ejemplo, el dashboard).
  2. Forza un envío de correo. Puedes hacerlo editando un producto y asignándole una cantidad de stock baja para que se envíe la alerta, o mejor aún, intenta crear un pedido de prueba.
  3. También puedes ir a Parámetros avanzados > E-mail y buscar un botón que diga "Enviar un correo de prueba" si tu versión lo tiene. Si no, usa el truco de la contraseña olvidada.

Un truco infalible: en la pantalla de login del administrador de PrestaShop, haz clic en "¿Olvidó su contraseña?" e introduce tu email de administrador. Si el sistema te envía el enlace de restablecimiento, entonces el SMTP está funcionando correctamente.

Solucionar problemas de envío de correo: Errores comunes y sus causas

Si tras configurar el SMTP sigues sin recibir correos, vamos a diagnosticar los mensajes de error más típicos.

Error: "No se puede conectar con el servidor SMTP"

Este es el error más frecuente. Significa que PrestaShop no puede establecer una conexión TCP con el servidor de correo. Las causas suelen ser:

  • El puerto está bloqueado: Muchos hostings compartidos bloquean los puertos 25, 465 o 587 por defecto para evitar el envío de spam. Si tu hosting usa Syspanel, revisa la configuración del firewall o la sección de seguridad. A veces, el puerto 587 está abierto pero el 465 no, o viceversa.
  • El servidor SMTP es incorrecto: Verifica que el nombre del servidor sea exactamente el que te dio tu proveedor. No es lo mismo smtp.tudominio.com que mail.tudominio.com. Consulta la documentación de tu hosting.
  • El cifrado no coincide: Si pones SSL en el puerto 587, fallará. Y si pones TLS en el 465, también fallará. Debes hacer coincidir el puerto con el cifrado.

[INFO]
Si estás usando Syspanel como panel de control, el puerto de acceso al panel es el 2106, pero eso no tiene nada que ver con el puerto SMTP. Los puertos SMTP son independientes (25, 465, 587). No los confundas.

Error: "Autenticación fallida" o "535 Authentication failed"

Este error es más específico: PrestaShop se conecta al servidor, pero el usuario o la contraseña no son correctos.

  • Verifica que no hay espacios en blanco al copiar la contraseña.
  • Comprueba que el usuario es la dirección de correo completa.
  • Si cambiaste la contraseña recientemente en tu panel de correo (Syspanel, cPanel, etc.), asegúrate de haberla actualizado en PrestaShop.
  • Algunos servidores requieren que el usuario incluya el dominio entre < y >, pero eso es raro. Si es tu caso, prueba con usuario@dominio.com y luego con usuario@dominio.com entre corchetes.

Error: "Se ha producido un error de envío de correo"

Este es un error genérico. Puede deberse a:

  • La dirección de correo "de" no existe: PrestaShop necesita una dirección de correo válida para enviar. En la configuración, asegúrate de tener puesta una dirección real.
  • El servidor SMTP no permite el reenvío (relay): Esto pasa cuando intentas enviar correos desde una IP que no está autorizada. Si tu hosting usa Syspanel, revisa que la cuenta de correo esté activa y que no tenga límites de envío diario.

¿Problemas con el envío de correos en PrestaShop y Hosting Compartido?

Si tu tienda está en un hosting compartido, es muy probable que el problema sea el límite de envíos por hora. Los proveedores de hosting, para proteger sus servidores, limitan la cantidad de correos que puedes enviar por hora (por ejemplo, 100 o 200). Si tu tienda envía muchos correos (newsletters, confirmaciones), puedes superar ese límite y el servidor simplemente rechaza los envíos.

Solución: Para envíos masivos, te recomiendo usar un servicio externo de SMTP transaccional como SendGrid, Mailgun o Amazon SES. No son caros y son mucho más fiables. La configuración en PrestaShop es la misma, solo cambias los datos del servidor SMTP a los que te dé el proveedor externo.

Guía de uso: Configurar SMTP con Syspanel (HestiaCP)

Muchos de nuestros clientes usan Syspanel para gestionar sus cuentas de correo. Si ese es tu caso, estos son los pasos para obtener los datos que necesitas:

  1. Accede a Syspanel a través del puerto 2106 (por ejemplo, https://tu-dominio.com:2106).
  2. Inicia sesión con tu usuario y contraseña de administrador del servidor.
  3. En el menú lateral, busca la sección "Mail" o "Cuentas de correo".
  4. Verás una lista de tus cuentas de correo. Si no tienes ninguna creada para tu dominio, créala. Necesitas una cuenta real (no una alias) para poder autenticarte.
  5. Al lado de la cuenta, verás los detalles del servidor. Anota el servidor SMTP (suele ser mail.tudominio.com) y el puerto (normalmente 587).
  6. Esa cuenta y su contraseña son las que usarás en PrestaShop.

[TIP]
En Syspanel, también puedes configurar el reenvío de correos o crear alias. Pero para SMTP, siempre usa una cuenta completa, no un alias.

Preguntas Frecuentes (FAQ) sobre el correo en PrestaShop

¿Por qué mis correos van a la carpeta de spam?

Esto suele pasar por falta de autenticación del dominio (SPF, DKIM). Asegúrate de tener configurados estos registros DNS en tu dominio. Si usas Syspanel, en la sección de DNS puedes añadir fácilmente los registros SPF y DKIM que te recomienda el propio panel. Sin ellos, los servidores de destino (Gmail, Outlook) pueden marcar tus correos como sospechosos.

¿Puedo usar mi correo de Gmail para enviar desde PrestaShop?

Técnicamente sí, pero no es recomendable. Gmail limita el envío a unos 500 correos al día y a menudo bloquea la conexión si detecta que se usa desde un servidor de hosting (por seguridad). Además, tendrás que crear una "contraseña de aplicación" en tu cuenta de Google. Si tu tienda es pequeña y envías pocos correos, puede valer como solución temporal, pero no es profesional. Mejor usa el SMTP de tu propio dominio.

¿Cómo sé si mi hosting bloquea el puerto 25?

Puedes hacer una prueba rápida. Abre una terminal (o CMD en Windows) y escribe:

telnet mail.tudominio.com 25

Si se conecta, el puerto está abierto. Si da error de conexión o se queda colgado, está bloqueado. En ese caso, usa el puerto 587 o 465.

¿Qué hago si después de todo sigue sin funcionar?

Revisa los logs de errores de PrestaShop. Puedes activar el modo debug en /config/defines.inc.php cambiando _PS_MODE_DEV_ a true. Esto te mostrará los errores detallados en pantalla. Otra opción es revisar los logs del servidor de correo en Syspanel (sección de logs del servidor) para ver si hay intentos de conexión fallidos.

Configuración avanzada: Ajustes de rendimiento y SMTP

Si tu tienda tiene mucho volumen, considera estos ajustes:

  • Método de envío: Si usas SMTP, PrestaShop abrirá una conexión por cada correo. Para optimizar, puedes configurar el plugin de terceros "Mailjet" o "Sendinblue" que ofrecen integraciones nativas y envíos más rápidos.
  • Errores de timeout: En la configuración de SMTP, a veces hay un campo para el "timeout". Si tu servidor es lento, aumenta este valor a 30 segundos.

Resumen final: Diagnóstico rápido

Para terminar, aquí tienes una checklist rápida si tu correo de PrestaShop no funciona:

  1. ¿Estás usando SMTP? Si usas la función mail() de PHP, cámbiate a SMTP. Es más fiable.
  2. ¿Son correctos los datos? Servidor, puerto, cifrado, usuario y contraseña. Revisa que el usuario sea el correo completo.
  3. ¿El puerto está abierto? Prueba con telnet o contacta con tu soporte de hosting.
  4. ¿El dominio tiene SPF y DKIM? Sin esto, tus correos irán a spam o serán rechazados.
  5. ¿Has superado el límite de envío? Si envías muchos correos, usa un SMTP transaccional externo.

Siguiendo estos pasos, resolverás el 99% de los problemas de envío de correo en PrestaShop. Recuerda que la clave está en usar SMTP con los datos correctos de tu servidor de correo. Si aún así tienes dudas, no dudes en contactar con el soporte de tu hosting, indicándoles que necesitas los parámetros SMTP para configurar una aplicación externa (PrestaShop). Ellos te los facilitarán sin problema.

Espero que esta guía te haya sido de ayuda. ¡A vender se ha dicho!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel