Seleccionar página

Si usamos PHP con Apache en Linux y la función de PHP mail() nos encontraremos con que, efectivamente el email se envía, pero el envelope generado es usuario_de_apache@localhostname en el mail from.

El problema de esto es que algunos servidores de correo rebotan este email porque el dominio no existe (lógicamente). Además, en caso de que el destinatario no exista, o tenga problemas, el mensaje rebotado retornará a nuestro servidor de correo, permaneciendo en una cola sin solución aparente.

Además, si añadimos un Header en el cuarto campo de la función mail(), cambiaremos el campo From en la cabecera del body del mensaje, pero no cambiaremos el envelope mail from.

La solución es sencilla. La función mail() tiene un 4 y 5º parámetro (opcionales). Es precisamente el 5º parámetro el que puede pasar determinadas opciones directamente a sendmail. Quedaría así:

mail('to@destinatario.com','subject!','body!','From: remitente@dominio_remitente.com','-f remitente@dominio_remitente.com');