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

Cómo solucionar problemas de envío de correos en PrestaShop (cPanel/ Plesk)

Actualizado el 8 de octubre de 2025

¿Por qué los correos de mi tienda PrestaShop no llegan?

Si estás leyendo esto, seguramente te ha pasado: un cliente hace un pedido, pero no recibe el email de confirmación. O peor, tú no recibes las notificaciones de nuevos pedidos. Es un problema más común de lo que parece y, afortunadamente, en la mayoría de los casos tiene solución.

El envío de correos en PrestaShop depende de varios factores: la configuración de tu panel de control (cPanel o Plesk), los ajustes de tu tienda y la reputación de tu servidor. Cuando los correos PrestaShop no salen, el problema suele estar en la configuración SMTP o en los límites de envío impuestos por tu hosting.

Vamos a ver paso a paso cómo diagnosticar y solucionar estos problemas, sin necesidad de ser un experto técnico.

Diagnóstico inicial: ¿Qué está fallando?

Antes de tocar nada, necesitas saber si el problema es de configuración o del servidor. Haz esta prueba rápida:

  1. Ve al Panel de Administración de tu PrestaShop.
  2. Entra en Parámetros avanzados > E-mail.
  3. En la parte inferior encontrarás un botón que dice "Enviar un email de prueba".
  4. Introduce tu dirección de correo y haz clic en enviar.

¿Recibiste el email? Si no llega, el problema está claro. Ahora toca revisar la configuración.

Otra prueba importante: crea una cuenta de correo en tu cPanel o Plesk (por ejemplo, prueba@tudominio.com) y envía un email desde tu cliente de correo (Outlook, Gmail, Thunderbird). Si ese correo tampoco sale, el problema es del servidor de correo de tu hosting, no de PrestaShop.

[INFO] Si el correo de prueba desde el panel de administración sí llega pero los pedidos no generan emails, revisa los Estados de pedido y las notificaciones por email en PrestaShop. A veces el problema es que no están activadas las plantillas para cada estado.

Configurar email en PrestaShop: Opciones básicas

PrestaShop te da dos opciones principales para enviar correos: usar la función mail() de PHP del servidor o configurar un servidor SMTP externo. Cada una tiene sus ventajas y problemas.

Opción 1: Usar la función mail() de PHP

Esta es la opción más sencilla y la que viene por defecto. PrestaShop usa la función mail() de PHP para enviar los correos directamente desde el servidor.

Para configurarla:

  1. Ve a Parámetros avanzados > E-mail.
  2. En "Enviar emails" selecciona "Usar la función mail() de PHP".
  3. Haz clic en Guardar.

Ventajas: No necesitas datos de servidor SMTP, es rápido de configurar.

Desventajas: Muchos servidores de hosting bloquean o limitan esta función por temas de spam. Si tu proveedor usa firewalls o servicios como SpamAssassin, los correos pueden caer en spam o no salir.

[TIP] Si usas esta opción y los correos no salen, revisa si tu hosting permite la función mail() de PHP. En cPanel, ve a Selección de versión de PHP y comprueba que mail() no esté deshabilitada. En Plesk, revisa la configuración de PHP en Herramientas y ajustes > Ajustes de PHP.

Opción 2: Configurar SMTP en PrestaShop

Usar un servidor SMTP es la opción más fiable. Puedes usar el SMTP de tu propio hosting o un servicio externo como Gmail, Outlook o un servicio profesional como SendGrid o Mailgun.

La configuración es así:

  1. Ve a Parámetros avanzados > E-mail.
  2. En "Enviar emails" selecciona "Usar mis propios parámetros SMTP".
  3. Rellena los campos:
    • Servidor SMTP: por ejemplo, mail.tudominio.com (si usas el SMTP de tu hosting) o smtp.gmail.com (si usas Gmail).
    • Puerto: normalmente 25, 465 (SSL) o 587 (TLS).
    • Protocolo de seguridad: Ninguno, SSL o TLS.
    • Usuario SMTP: tu dirección de correo completa.
    • Contraseña SMTP: la contraseña de ese correo.
  4. Haz clic en Guardar y luego envía un email de prueba.

[WARNING] Si usas Gmail, necesitas activar la verificación en dos pasos y generar una contraseña de aplicación específica. No funcionará con tu contraseña normal de Google.

El SMTP de tu propio hosting (el que te da cPanel o Plesk) suele ser la opción más estable porque el servidor de correo está en el mismo lugar que tu tienda.

Cómo solucionar problemas de correo en cPanel

cPanel es el panel de control más usado en hosting compartido. Si tus correos PrestaShop no salen con cPanel, sigue estos pasos.

1. Verifica que el dominio tenga registros MX correctos

Los registros MX (Mail Exchanger) indican a qué servidor deben entregarse los correos de tu dominio. Si están mal configurados, los correos pueden perderse.

  1. Entra en cPanel y busca la sección "Zone Editor" o "Editor de Zona DNS".
  2. Busca tu dominio y haz clic en "Administrar".
  3. Comprueba que existe un registro MX que apunte a mail.tudominio.com o al servidor de correo que te haya indicado tu hosting.

Si no sabes qué valores poner, contacta con tu proveedor de hosting. Ellos te dirán los registros MX correctos.

2. Revisa la autenticación SPF y DKIM

Estos registros DNS son fundamentales para que tus correos no caigan en spam.

  • SPF (Sender Policy Framework): indica qué servidores están autorizados a enviar correos en nombre de tu dominio.
  • DKIM (DomainKeys Identified Mail): firma digitalmente tus correos para verificar que son auténticos.

En cPanel:

  1. Ve a "Zone Editor".
  2. Busca los registros TXT de tu dominio.
  3. Deberías tener un registro SPF similar a: v=spf1 +a +mx +a:tu-servidor -all.
  4. Si no tienes DKIM, en cPanel ve a "Authentication" o "Email Deliverability" y activa DKIM.

[INFO] Si tu hosting usa cPanel, normalmente los registros SPF y DKIM se configuran automáticamente al crear la cuenta de correo. Pero si los has borrado o modificado, los correos pueden fallar.

3. Comprueba la cola de correo

Si los correos se quedan atascados, revisa la cola de correo:

  1. En cPanel, ve a "Mail Delivery Reports" o "Track Delivery".
  2. Verás los últimos correos enviados y si han sido entregados o rechazados.
  3. Si ves errores como "Relay access denied" o "Connection refused", el problema es del servidor de correo.

4. Configura el SMTP de cPanel en PrestaShop

La configuración más recomendada en cPanel es usar el SMTP del propio servidor:

  • Servidor SMTP: mail.tudominio.com
  • Puerto: 465 con SSL o 587 con TLS
  • Usuario y contraseña: los de tu cuenta de correo completa (ej. info@tudominio.com)

[TIP] Si tu hosting usa cPanel con Exim, puedes ver los logs de correo en "Mail Delivery Reports". Allí verás el motivo exacto del fallo: "550 Sender verify failed", "421 Too many connections", etc.

Solucionar correos en Plesk

Plesk es otro panel de control muy común, sobre todo en servidores dedicados o VPS. La lógica es similar, pero la interfaz cambia.

1. Revisa la configuración de correo en Plesk

  1. Entra en Plesk y ve a "Correo" en el menú de tu dominio.
  2. Comprueba que la cuenta de correo que usas para SMTP existe y está activa.
  3. Revisa la configuración de "Ajustes de correo":
    • "Enviar y recibir": debe estar activado.
    • "Autenticación": debe estar marcada la opción de requerir autenticación para enviar.

2. Configura el SMTP de Plesk en PrestaShop

En Plesk, el servidor SMTP suele ser el nombre del servidor (por ejemplo, srv1.mihosting.com) o localhost si el correo está en el mismo servidor.

  • Servidor SMTP: localhost o el nombre de tu servidor.
  • Puerto: 25 (sin cifrado) o 587 (con STARTTLS).
  • Usuario y contraseña: los de la cuenta de correo completa.

[WARNING] En Plesk, si usas localhost como servidor SMTP, asegúrate de que el puerto 25 no esté bloqueado por tu proveedor. Muchos hosts bloquean el puerto 25 para evitar spam y usan el 587 o 465.

3. Verifica los registros DNS en Plesk

Igual que en cPanel, en Plesk tienes que asegurarte de que los registros MX, SPF y DKIM están correctos.

  1. Ve a "Sitios web y dominios" y haz clic en tu dominio.
  2. Entra en "DNS" o "Ajustes DNS".
  3. Comprueba los registros MX, TXT (SPF) y el registro DKIM.

4. Revisa el firewall y los puertos

Plesk suele incluir un firewall (normalmente firewalld o iptables). Si el puerto SMTP está bloqueado, los correos no saldrán.

  1. Ve a "Herramientas y ajustes > Firewall".
  2. Verifica que los puertos 25, 465 y 587 están abiertos para tráfico saliente.

[INFO] Si tu servidor usa Syspanel (antes conocido como HestiaCP), el acceso al panel es a través del puerto 2106. La configuración de correo es similar a Plesk: usa el SMTP del servidor y verifica los registros DNS desde el panel.

Errores comunes al configurar SMTP en PrestaShop

Cuando configuras SMTP, es normal encontrarse con errores. Aquí tienes los más frecuentes y cómo solucionarlos.

Error: "Connection refused" o "Connection timed out"

Este error indica que PrestaShop no puede conectar con el servidor SMTP.

Posibles causas:

  • El puerto está bloqueado por el firewall o el proveedor.
  • El servidor SMTP está caído.
  • Has escrito mal el nombre del servidor.

Solución:

  • Prueba con otro puerto: si usabas el 25, prueba el 587 o el 465.
  • Verifica que el nombre del servidor es correcto (puedes hacer ping o nslookup desde la terminal).
  • Contacta con tu hosting para confirmar que el servidor SMTP está operativo.

Error: "Authentication failed" o "Username and Password not accepted"

Las credenciales SMTP son incorrectas.

Solución:

  • Comprueba que escribes el email completo como usuario (ej. info@tudominio.com).
  • Asegúrate de que la contraseña no tiene espacios ni caracteres extraños.
  • Prueba a cambiar la contraseña de la cuenta de correo desde cPanel o Plesk.

[TIP] Si usas Gmail como SMTP, recuerda que la contraseña de aplicación no es la misma que la de tu cuenta. Debes generarla en Cuenta de Google > Seguridad > Contraseñas de aplicaciones.

Error: "SSL certificate problem" o "Certificate verify failed"

El certificado SSL del servidor SMTP no es válido o no coincide.

Solución:

  • Si usas SSL (puerto 465), prueba con TLS (puerto 587).
  • Si el error persiste, desactiva la verificación SSL en PrestaShop (aunque no es recomendable por seguridad).
  • Asegúrate de que el nombre del servidor SMTP coincide con el nombre del certificado.

Error: "Relay access denied"

El servidor SMTP no permite enviar correos a través de él porque no estás autenticado o el dominio no es el correcto.

Solución:

  • Activa la autenticación SMTP en PrestaShop (marca la casilla "Usar autenticación").
  • Usa una cuenta de correo del mismo dominio que tu tienda.

Solución avanzada: Servicios SMTP externos

Si tu hosting tiene problemas constantes con el correo, considera usar un servicio SMTP externo. Son más fiables y mejoran la entregabilidad.

SendGrid, Mailgun o Amazon SES

Estos servicios están diseñados específicamente para el envío de correos transaccionales. Son ideales para tiendas online porque:

  • Tienen altas tasas de entregabilidad.
  • Ofrecen estadísticas detalladas.
  • Evitan que tus correos caigan en spam.

Configuración en PrestaShop:

  1. Crea una cuenta en el servicio que elijas.
  2. Obtén tus credenciales SMTP (servidor, puerto, usuario, contraseña).
  3. En PrestaShop, ve a Parámetros avanzados > E-mail y configura el SMTP con esos datos.

Por ejemplo, con SendGrid:

  • Servidor SMTP: smtp.sendgrid.net
  • Puerto: 587 (TLS)
  • Usuario: apikey
  • Contraseña: tu API key de SendGrid

[INFO] Muchos de estos servicios tienen planes gratuitos limitados. Para una tienda con poco volumen de pedidos, el plan gratuito suele ser suficiente.

Gmail o Outlook como SMTP

Puedes usar tu cuenta de Gmail o Outlook como servidor SMTP, pero no es recomendable para tiendas con volumen alto porque tienen límites de envío diarios (Gmail limita a 500 emails/día).

Configuración con Gmail:

  • Servidor SMTP: smtp.gmail.com
  • Puerto: 465 (SSL) o 587 (TLS)
  • Usuario: tu email de Gmail
  • Contraseña: una contraseña de aplicación (necesitas activar la verificación en dos pasos)

Preguntas frecuentes sobre correos en PrestaShop

¿Por qué los correos de pedidos no llegan a los clientes?

Suele ser por tres motivos: la configuración SMTP es incorrecta, el servidor de correo está bloqueado por el hosting, o los correos caen en spam. Revisa la configuración SMTP y usa un servicio externo si el problema persiste.

¿Cómo sé si mi hosting bloquea la función mail() de PHP?

Puedes hacer una prueba creando un archivo PHP con <?php mail('tu@email.com', 'Test', 'Mensaje'); ?> y ejecutarlo. Si no recibes el correo, es probable que esté bloqueada.

¿Qué puerto SMTP debo usar en PrestaShop?

Depende de tu servidor: el 25 es el estándar pero suele estar bloqueado; el 587 con TLS es el más recomendado; el 465 con SSL también funciona. Prueba con el 587 primero.

¿Cómo configuro SMTP en PrestaShop 1.6, 1.7 y 8?

En todas las versiones recientes, la ruta es la misma: Parámetros avanzados > E-mail. La interfaz cambia ligeramente, pero las opciones son idénticas.

¿Mis correos caen en spam, qué hago?

Primero, verifica los registros SPF y DKIM. Segundo, usa un servicio SMTP externo con buena reputación. Tercero, evita usar palabras de spam en los asuntos (como "gratis", "oferta", "promoción").

¿Puedo usar el SMTP de mi hosting si tengo Syspanel?

Sí, la configuración es la misma que en Plesk. Accede a Syspanel a través del puerto 2106, busca la sección de correo y usa las credenciales de tu cuenta de correo para configurar el SMTP en PrestaShop.

Consejos finales para no volver a tener problemas

Una vez que hayas solucionado el envío de correos, sigue estas buenas prácticas para evitar problemas futuros:

1

¿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