Aunque PHP permite enviar correos mediante la función mail(), no es la opción más recomendable. En su lugar, aconsejamos utilizar autenticación SMTP para garantizar una mayor fiabilidad en la entrega.
Usar SMTP es casi tan sencillo como mail(), pero con el beneficio de una mejor entregabilidad y seguridad. Configurarlo solo requiere un paso adicional: definir los datos del servidor.
- En PrestaShop, la opción está integrada de forma nativa en: Parámetros Avanzados > Correo electrónico > Establecer mis propios parámetros SMTP.
- En WordPress, puedes configurar SMTP fácilmente con el plugin WP Mail SMTP:
En este vídeo tienes explicado el proceso completo para WordPress y WooCommerce:
Los datos de servidor, usuario y puertos que necesitas los tienes en la guía Configurar cliente de correo electrónico.
¿Por qué recomendamos la autenticación SMTP?
La autenticación SMTP mejora la tasa de entrega y reduce la probabilidad de que tus correos acaben marcados como SPAM. Estos son los motivos:
Verifica la autenticidad del remitente
- Los correos enviados con SMTP incluyen cabeceras que certifican que el remitente es legítimo.
- Por ejemplo, si recibes un correo de
steve-jobs@apple.com, puedes estar seguro de que realmente proviene de esa dirección. - Con
mail(), en cambio, cualquiera puede falsificar el remitente, lo que aumenta la probabilidad de que el correo se considere SPAM.
Mayor seguridad
- No expone la ruta de los scripts PHP.
- Utiliza una conexión cifrada para proteger la información.
- Reduce el riesgo de abusos y envíos fraudulentos.
Compatibilidad con servicios externos
- Permite integrar soluciones como Amazon SES, Gmail, SendGrid o Mailgun, entre otras.
Mejor control de errores
- SMTP proporciona códigos de respuesta detallados que facilitan la detección de problemas.
- Ofrece mayor flexibilidad en la configuración de cabeceras y en el manejo de envíos masivos.
Conclusión
Si buscas fiabilidad, seguridad y una mejor tasa de entrega, usa SMTP autenticado con bibliotecas como PHPMailer o SwiftMailer, en lugar de la función mail() de PHP.