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

Solución al error 'PrestaShop no envía correos' en Plesk

Actualizado el 6 de marzo de 2026

¡Hola! Soy el técnico de soporte. ¿Tu tienda PrestaShop ha dejado de enviar correos electrónicos? Es un problema muy habitual, sobre todo cuando migras tu tienda a un servidor con Plesk. Los clientes no reciben confirmaciones de pedido, recuperaciones de contraseña o mensajes de contacto. No te preocupes, hoy te voy a guiar paso a paso para solucionar el error «PrestaShop no envía correos» en Plesk. Vamos a revisar las causas más comunes y te daré instrucciones claras, incluso si no eres un experto técnico.

¿Por qué ocurre el error de email en PrestaShop en Plesk?

PrestaShop utiliza su propio sistema de envío de correos. Por defecto, intenta usar la función mail() de PHP, pero en muchos servidores con Plesk, esta función está limitada o deshabilitada por razones de seguridad. Además, Plesk suele gestionar el correo a través de servidores SMTP locales o externos. Si no configuras correctamente el envío, los correos simplemente no salen.

Las causas más frecuentes son:

  • Función mail() de PHP deshabilitada en la configuración de PHP de Plesk.
  • Configuración SMTP incorrecta en PrestaShop.
  • Puertos SMTP bloqueados por el firewall del servidor.
  • Credenciales de correo erróneas (usuario/contraseña de la cuenta de email en Plesk).
  • Problemas con el módulo de correo de PrestaShop (por ejemplo, módulos obsoletos o conflictivos).

[INFO] El error «PrestaShop no envía correos» suele manifestarse como: «No se pudo enviar el correo electrónico» o «Error de envío de email». No te asustes, tiene solución.

Paso 1: Verificar la configuración de PHP en Plesk

Lo primero es asegurarnos de que PHP tiene permiso para enviar correos. En Plesk, puedes configurar esto por dominio.

Acceder a la configuración de PHP

  1. Inicia sesión en Plesk (normalmente accedes a través de https://tudominio.com:8443 o la IP de tu servidor).
  2. Ve a Sitios web y dominios.
  3. Busca tu dominio de PrestaShop y haz clic en Configuración de PHP (suele estar en la sección de «Hosting» o «PHP»).
  4. Busca la opción sendmail_path o mail function. En Plesk, a menudo verás una lista de parámetros.
    • Asegúrate de que sendmail_path tenga un valor como /usr/sbin/sendmail -t -i (es el valor por defecto).
    • Si ves que está vacío o comentado, escríbelo manualmente.
  5. También verifica que SMTP no esté forzado a deshabilitado. Si hay una opción «SMTP Port» o «SMTP server», déjala en blanco o en la configuración por defecto.
  6. Guarda los cambios.

[TIP] Si tu versión de PHP es 7.4 o superior, la función mail() puede estar desactivada por defecto. En Plesk, puedes habilitarla desde la pestaña PHP Settings marcando la casilla «Enable mail() function». Si no ves esa opción, contacta con tu proveedor de hosting.

Paso 2: Configurar SMTP en PrestaShop (la solución más fiable)

La mejor práctica para evitar problemas con mail() es configurar un servidor SMTP en PrestaShop. Así usas un servidor de correo dedicado (el de tu propio dominio o uno externo como Gmail). Sigue estos pasos:

Acceder a la configuración de correo en PrestaShop

  1. Entra al panel de administración de tu tienda PrestaShop.
  2. Ve al menú Parámetros avanzados > Correo electrónico.
  3. Verás dos opciones:
    • Enviar correos usando PHP mail() (no recomendado).
    • Establecer mis propios parámetros SMTP. Selecciona esta.

Configurar los parámetros SMTP

Ahora rellena los campos según los datos de tu servidor de correo en Plesk. Te explico cómo obtenerlos:

¿Cómo crear una cuenta de correo en Plesk?

  • En Plesk, ve a Correo > Añadir dirección de correo.
  • Crea una cuenta, por ejemplo: tienda@tudominio.com.
  • Anota la contraseña.

Datos SMTP que necesitas:

  • Servidor SMTP: Puede ser mail.tudominio.com o localhost (si el servidor de correo está en el mismo equipo). Si usas Plesk, localhost suele funcionar.
  • Puerto SMTP: 25 (sin cifrar), 465 (SSL) o 587 (TLS). En Plesk, el puerto 465 con SSL es común.
  • Cifrado: SSL o TLS, según el puerto.
  • Autenticación: Sí, activa.
  • Usuario: La dirección de correo completa, ej. tienda@tudominio.com.
  • Contraseña: La de la cuenta de correo.

Ejemplo de configuración típica en Plesk:

  • Servidor: localhost
  • Puerto: 465
  • Cifrado: SSL
  • Usuario: tienda@tudominio.com
  • Contraseña: tu_contraseña

Guarda la configuración.

[WARNING] Si usas localhost como servidor SMTP, asegúrate de que el servicio de correo de Plesk (Postfix o Qmail) esté funcionando. Puedes verificarlo en Plesk: Herramientas y ajustes > Servicios > busca «Correo» y comprueba que esté activo.

Probar el envío

En la misma página de configuración de correo de PrestaShop, hay un botón Enviar un correo de prueba. Introduce tu dirección de email personal y haz clic. Si todo está bien, recibirás un mensaje de prueba.

Paso 3: Verificar puertos y firewall en Plesk

A veces el firewall del servidor bloquea los puertos SMTP. Plesk incluye un firewall (normalmente iptables o firewalld). Si no recibes correos, puede que el puerto esté cerrado.

Comprobar puertos en Plesk

  1. En Plesk, ve a Herramientas y ajustes > Firewall.
  2. Busca las reglas para los puertos 25, 465 y 587. Deben estar permitidos (verde o activo).
  3. Si no aparecen, añade una regla:
    • Puerto: 465 (o el que uses).
    • Protocolo: TCP.
    • Acción: Permitir.
  4. Guarda y aplica.

[TIP] Si tu servidor está detrás de un router o CDN (Cloudflare), asegúrate de que el puerto SMTP no esté bloqueado en la red externa. Contacta con tu proveedor de hosting si no estás seguro.

Paso 4: Revisar los logs de error

Si aún falla, los logs te darán pistas. En Plesk puedes ver los logs de correo y de PHP.

Logs de correo en Plesk

  • Ve a Herramientas y ajustes > Registros de correo.
  • Busca errores como «Connection refused» o «Authentication failed».
  • Si ves «Authentication failed», revisa usuario y contraseña en PrestaShop.

Logs de PHP

  • En Sitios web y dominios > tu dominio > Registros.
  • Busca el archivo error_log o php_error.log. Allí pueden aparecer errores de la función mail().

[INFO] Un error común en logs es: «SMTP Error: Could not authenticate». Significa que las credenciales SMTP son incorrectas. Vuelve a generar la contraseña en Plesk y actualiza PrestaShop.

Paso 5: Soluciones avanzadas (módulos y alternativas)

Si después de todo lo anterior el error persiste, prueba estas opciones:

Usar un módulo SMTP externo

Existen módulos gratuitos y de pago en PrestaShop que facilitan la configuración SMTP. Por ejemplo:

  • Mailjet: Ofrece un plugin oficial y es fácil de configurar.
  • Sendinblue: También tiene módulo y plan gratuito.
  • Gmail SMTP: Puedes usar tu cuenta de Gmail (requiere contraseña de aplicación).

Desactivar módulos conflictivos

Algunos módulos de envío de correo (como los de boletines o notificaciones) pueden interferir. Ve a Módulos > Gestor de módulos y desactiva temporalmente cualquier módulo relacionado con correo. Luego prueba de nuevo.

Configurar el envío por PHP mail() como último recurso

Si tu hosting insiste en que la función mail() funciona, pero PrestaShop no envía, puedes forzar el uso de mail():

  • En la configuración de correo de PrestaShop, selecciona Enviar correos usando PHP mail().
  • Asegúrate de que en Plesk, la función mail() esté habilitada (como vimos en el Paso 1).

[WARNING] Usar PHP mail() puede ser menos fiable y muchos servidores lo bloquean por spam. Solo recomiendo esta opción si el SMTP no funciona y tu hosting lo permite.

Preguntas frecuentes (FAQ)

¿Por qué PrestaShop no envía correos después de migrar a Plesk?

Al migrar, la configuración de PHP y SMTP suele cambiar. Lo más común es que la función mail() esté deshabilitada o que el servidor SMTP local (localhost) no esté configurado. Sigue los pasos de configuración SMTP y verifica los puertos.

¿Qué puerto SMTP debo usar en Plesk?

Depende de tu configuración. Los más comunes son:

  • 25: Sin cifrar (muchos ISP lo bloquean).
  • 465: SSL (recomendado).
  • 587: TLS (también seguro).

Prueba primero con 465 y SSL. Si no funciona, usa 587 con TLS.

¿Cómo sé si mi servidor SMTP en Plesk funciona?

Puedes probar desde la línea de comandos (si tienes acceso SSH) o usando un script PHP. Pero lo más sencillo es crear una cuenta de correo en Plesk y enviarte un email desde un cliente como Outlook o Thunderbird. Si recibes el correo, el servidor SMTP funciona.

¿El error «PrestaShop no envía correos» puede deberse a un plugin?

Sí, algunos plugins de seguridad o de caché pueden bloquear el envío. Desactiva temporalmente todos los módulos no esenciales y prueba.

¿Puedo usar Gmail SMTP en PrestaShop?

Sí, pero necesitas generar una contraseña de aplicación en Gmail (no uses tu contraseña normal). Luego configura:

  • Servidor: smtp.gmail.com
  • Puerto: 587
  • Cifrado: TLS
  • Usuario: tu correo de Gmail
  • Contraseña: la contraseña de aplicación

[INFO] Gmail tiene límites de envío (500 correos/día). Para tiendas con mucho tráfico, mejor usa un servicio SMTP transaccional como Sendgrid o Mailgun.

Resumen final

Solucionar el error «PrestaShop no envía correos» en Plesk es cuestión de revisar tres puntos clave:

  1. PHP: Asegúrate de que la función mail() esté habilitada (o mejor, no la uses).
  2. SMTP: Configura un servidor SMTP en PrestaShop con los datos de tu cuenta de correo en Plesk (servidor: localhost, puerto: 465, SSL, usuario y contraseña).
  3. Firewall: Verifica que los puertos SMTP estén abiertos en Plesk.

Si sigues estos pasos, en la mayoría de los casos el problema se resuelve. Recuerda siempre hacer una copia de seguridad de tu tienda antes de hacer cambios.

¿Aún tienes dudas? Déjame un comentario o contacta con soporte técnico. ¡Estoy aquí para ayudarte!

¿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