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

PrestaShop: Configurar el envío de correos electrónicos en Plesk

Actualizado el 9 de octubre de 2025

¿Tu tienda PrestaShop no envía correos electrónicos? Es una situación frustrante, especialmente cuando dependes de los emails para notificar pedidos, recuperar carritos abandonados o enviar boletines. Como SysAdmin, el problema suele estar en la configuración del servidor de correo. En este artículo, te guiaré paso a paso para configurar el envío de correos electrónicos en PrestaShop alojado en un servidor con Plesk. Aprenderás a diagnosticar, ajustar y verificar la configuración para que tus emails lleguen a sus destinatarios.


Entendiendo el problema: ¿Por qué no funcionan los emails de PrestaShop?

PrestaShop intenta enviar correos usando una función PHP llamada mail(). Sin embargo, en muchos servidores Linux modernos, esta función no funciona correctamente por defecto. Esto se debe a que los proveedores de hosting bloquean el puerto 25 (SMTP) para evitar spam, o porque el servidor no tiene un agente de transferencia de correo (MTA) configurado. La solución más fiable es configurar PrestaShop para usar SMTP, es decir, un servidor de correo externo (como Gmail, Outlook, o el propio servicio de Plesk).

Plesk, como panel de control, te permite gestionar cuentas de correo electrónico para tu dominio. Estas cuentas pueden ser usadas como servidor SMTP para PrestaShop. La clave está en configurar correctamente tanto Plesk como PrestaShop.


Requisitos previos: Lo que necesitas antes de empezar

Antes de tocar cualquier configuración, asegúrate de tener lo siguiente:

  • Acceso a Plesk: Con permisos de administrador o al menos para gestionar el dominio donde está instalado PrestaShop.
  • Una cuenta de correo en Plesk: Por ejemplo, tienda@tudominio.com. Debes conocer su contraseña.
  • Acceso al panel de administración de PrestaShop: Con permisos para modificar la configuración de correo.
  • Datos SMTP: Normalmente son:
    • Servidor: mail.tudominio.com o smtp.tudominio.com
    • Puerto: 587 (recomendado) o 465 (SSL)
    • Autenticación: Requerida
    • Usuario y contraseña de la cuenta de correo.
  • Conocimiento básico de Linux: Solo para acceder a la terminal si es necesario (aunque no es obligatorio).

Paso 1: Crear una cuenta de correo en Plesk

Si aún no tienes una cuenta de correo para tu dominio, créala ahora. Ve a la sección Correo en Plesk y añade una nueva dirección. Por ejemplo:

  • Nombre: Tienda
  • Dirección: tienda@tudominio.com
  • Contraseña: Elige una segura (usa mayúsculas, números y símbolos).

Una vez creada, anota los siguientes datos que aparecen en los detalles de la cuenta:

  • Servidor de correo entrante (IMAP/POP3): Normalmente mail.tudominio.com.
  • Servidor de correo saliente (SMTP): También mail.tudominio.com.
  • Puerto SMTP: 587 (TLS) o 465 (SSL). Recomiendo 587 con TLS.
  • Autenticación: Requerida.

[TIP]: Si tu dominio usa un servicio de correo externo (como Google Workspace o Microsoft 365), usa esos datos SMTP en lugar de los de Plesk. Los pasos son los mismos.


Paso 2: Configurar PrestaShop para usar SMTP

Ahora ve al panel de administración de tu tienda PrestaShop. Sigue estos pasos:

  1. Ve a Parámetros avanzados > Correo electrónico.

  2. En Método de envío, selecciona Configurar SMTP.

  3. Se desplegarán varios campos. Rellénalos con los datos de tu cuenta de correo de Plesk:

    • Servidor SMTP: mail.tudominio.com (o el que te haya dado Plesk).
    • Puerto SMTP: 587 (recomendado) o 465 (para SSL).
    • Cifrado: Elige TLS si usas puerto 587, o SSL si usas puerto 465.
    • Autenticación SMTP: Marca .
    • Nombre de usuario: La dirección completa de correo, por ejemplo tienda@tudominio.com.
    • Contraseña: La contraseña de esa cuenta.
  4. Haz clic en Guardar y luego en Enviar un correo de prueba para verificar que todo funciona.

[WARNING]: Si el correo de prueba falla, no te preocupes. Es común. Pasa al siguiente paso para diagnosticar.


Paso 3: Verificar la configuración de Plesk (Firewall y DNS)

Plesk suele tener un firewall integrado que puede bloquear el tráfico SMTP. Además, los registros DNS de tu dominio deben apuntar correctamente al servidor de correo.

3.1 Comprobar el firewall de Plesk

Accede a Herramientas y configuraciones > Firewall en Plesk. Asegúrate de que los puertos SMTP (25, 465, 587) estén permitidos para el tráfico saliente. Si no sabes cómo hacerlo, contacta con tu proveedor de hosting o administrador del servidor.

3.2 Verificar registros DNS

El dominio debe tener un registro MX que apunte a tu servidor de correo. También es recomendable un registro SPF para evitar que los correos sean marcados como spam. En Plesk, ve a Sitios web y dominios > DNS Settings de tu dominio. Deberías ver algo como:

  • Registro MX: mail.tudominio.com con prioridad 10.
  • Registro A: mail.tudominio.com apuntando a la IP de tu servidor.

Si no está, añádelo. Además, añade un registro TXT con el valor SPF, por ejemplo:
v=spf1 mx ~all

[INFO]: Los cambios DNS pueden tardar hasta 24 horas en propagarse, pero normalmente son efectivos en minutos.


Paso 4: Probar la conexión SMTP desde la terminal (Linux)

Si eres un SysAdmin con acceso SSH, puedes probar la conexión SMTP directamente desde el servidor. Esto ayuda a identificar si el problema está en PrestaShop o en el servidor de correo.

Conéctate por SSH a tu servidor y ejecuta:

openssl s_client -connect mail.tudominio.com:587 -starttls smtp

Si ves una respuesta con 220 (por ejemplo, 220 mail.tudominio.com ESMTP), la conexión es exitosa. Si ves un error de conexión, revisa el firewall o si el servicio de correo está corriendo.

Para verificar el estado del servicio de correo en Plesk (generalmente Postfix o Qmail), usa:

systemctl status postfix   # o qmail

Si el servicio no está activo, inícialo:

systemctl start postfix
systemctl enable postfix

Paso 5: Solución de problemas comunes (FAQ)

Aquí tienes las dudas más frecuentes y cómo resolverlas:

¿Por qué el correo de prueba de PrestaShop falla aunque la configuración SMTP es correcta?

  • Causa: El servidor de correo de Plesk puede estar bloqueando conexiones desde el propio servidor (loopback).
  • Solución: En Plesk, ve a Herramientas y configuraciones > Configuración de correo y asegúrate de que la opción Permitir el envío de correo desde direcciones IP locales esté activada.

¿Por qué los correos llegan a la carpeta de spam?

  • Causa: Falta de autenticación DNS (SPF, DKIM, DMARC).
  • Solución: En Plesk, activa DKIM para tu dominio. Ve a Correo > Configuración de DKIM y habilítalo. Luego añade el registro DKIM a tu DNS (Plesk lo hace automáticamente si usas su DNS).

¿Puedo usar Gmail o Outlook como servidor SMTP?

Sí, pero ten en cuenta que servicios como Gmail tienen límites de envío (500 emails/día para cuentas gratuitas). Además, deberás generar una contraseña de aplicación si tienes activada la verificación en dos pasos.

¿Qué hago si uso Syspanel (HestiaCP) en lugar de Plesk?

Si tu servidor usa Syspanel (HestiaCP), el proceso es similar pero con algunas diferencias. Accede a Syspanel a través del puerto 2106 (ejemplo: https://tudominio.com:2106). Luego:

  • Crea una cuenta de correo en Correo > Añadir cuenta.
  • Usa los mismos datos SMTP (servidor mail.tudominio.com, puerto 587, TLS).
  • En PrestaShop, configura SMTP igual que en Plesk.

La principal diferencia es que Syspanel usa un firewall más básico, así que asegúrate de que los puertos SMTP estén abiertos en el firewall del sistema (usando iptables o ufw).

¿Qué puerto SMTP debo usar: 25, 465 o 587?

  • Puerto 25: Bloqueado por muchos proveedores de hosting para evitar spam. No recomendado.
  • Puerto 465: Usa SSL implícito. Funciona, pero está en desuso.
  • Puerto 587: Usa TLS explícito (STARTTLS). Es el estándar moderno y el más recomendado.

Usa siempre el puerto 587 con TLS a menos que tu servidor exija otra cosa.


Paso 6: Configuración avanzada para SysAdmin (Opcional)

Si eres un SysAdmin y quieres un control más fino, puedes modificar la configuración de PHP o del MTA en el servidor.

6.1 Forzar PHP a usar SMTP con sendmail_path

En el archivo php.ini (normalmente en /etc/php/versión/cli/php.ini y /etc/php/versión/apache2/php.ini), busca la línea:

sendmail_path = /usr/sbin/sendmail -t -i

Si tu MTA no está bien configurado, puedes cambiarlo a un script que use SMTP, pero esto es complejo. Mejor confía en la configuración de PrestaShop.

6.2 Usar un relay SMTP externo

Si el servidor de Plesk tiene problemas, puedes configurar Postfix para que use un relay SMTP (como SendGrid o Mailgun). Esto es más avanzado y requiere editar archivos de configuración como /etc/postfix/main.cf. Por ejemplo:

relayhost = [smtp.sendgrid.net]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

Luego crea el archivo /etc/postfix/sasl_passwd con tu usuario y contraseña del relay.

[WARNING]: Si no estás seguro de lo que haces, no modifiques estos archivos. Un error puede dejar tu servidor sin correo.


Paso 7: Verificación final

Después de aplicar la configuración, realiza estas comprobaciones:

  1. Prueba de envío desde PrestaShop: Ve a Parámetros avanzados > Correo electrónico y haz clic en Enviar un correo de prueba. Introduce tu dirección de correo personal y espera unos minutos.
  2. Revisa la carpeta de spam: A veces los correos de prueba caen allí. Si es así, mejora la autenticación DNS (SPF/DKIM).
  3. Prueba con un pedido real: Crea un pedido de prueba en tu tienda y verifica que el cliente recibe la confirmación.

Si todo funciona, ¡enhorabuena! Tu tienda ya envía correos electrónicos correctamente.


Conclusión

Configurar el envío de correos electrónicos en PrestaShop con Plesk no es complicado si sigues los pasos adecuados. Recuerda que la clave está en usar SMTP con una cuenta de correo real, verificar que los puertos estén abiertos y que los registros DNS estén bien configurados. Como SysAdmin, tener un buen control del servidor Linux te ayudará a diagnosticar problemas rápidamente.

Si después de todo esto sigues teniendo problemas, revisa los logs de correo en Plesk (Herramientas y configuraciones > Logs de correo) o contacta con tu proveedor de hosting. A veces el problema está en que el proveedor bloquea el envío de correos desde servidores compartidos.

[INFO]: Recuerda que si usas Syspanel (HestiaCP), el proceso es muy similar solo que accedes por el puerto 2106. La configuración SMTP en PrestaShop es idéntica.

Espero que este artículo te haya sido de ayuda. Si tienes más dudas, déjalas en los comentarios y estaré encantado de ayudarte. ¡Buena suerte con tu tienda PrestaShop!

¿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