Muchos servidores sobreescriben el valor ‘Return-Path’ enviado desde la función mail() por la dirección predeterminada del servidor Web, algo así como nobody@ejemplo.com.
Si un servidor Web tiene alojado sólo un dominio, es posible modificar el archivo php.ini asignando un valor que siempre será tomado en cuenta pero si se trata de un ambiente compartido se debe especificar el valor correspondiente desde cada cuenta.
La función PHP mail(), ofrece un parámetro adicional (additional_parameters) que puede ayudarnos a configurar correctamente el valor ‘Return-Path’ en el header de cada mail enviado desde un formulario Web.
El parámetro es: -f seguido de la dirección mail de origen (sin espacio en blanco entre -f y la dirección). Quedaría así: -fmail@ejemplo.com
La forma de implementarlo es, simplemente, agregando un quinto parámetro a cada llamado a la función mail().
Un ejemplo:
<?php
enviarMail (“desde@ejemplo.com“, “destino@ejemplo.com“, “Test return_path”, “TEST MAIL”);
function enviarMail ($mail_from, $mail_to, $subject, $message)
{
$headers = “Content-Type: text/plain; charset=UTF-8; format=flowed\r\n”;
$headers .= “From: Ejemplo <$mail_from>\r\n”;
$headers .= “Reply-to: $mail_from\r\n”;
mail ($mail_to, $subject, $message, $headers, ‘-f’. $mail_from);
}
?>
Un mail enviado de ésta forma mostraría el siguiente header:
Return-path: <desde@ejemplo.com>
Envelope-to: destino@ejemplo.com
Delivery-date: Fri, 27 Jul 2007 17:43:18 -0300
Received: from ejemplo by servidor.ejemplo.com with local-bsmtp (Exim —)
(envelope-from <desde@ejemplo.com>)
id 1IEWec-0002ff-M1
for destino@ejemplo.com; Fri, 27 Jul 2007 17:43:18 -0300
X-Spam-Checker-Version: SpamAssassin 3.2.1 (2007-05-02) on
servidor.ejemplo.com
X-Spam-Level:
X-Spam-Status: No, score=-1.0 required=8.0 tests=AWL,BAYES_05,NO_RELAYS
autolearn=ham version=3.2.1
Received: from nobody by servidor.ejemplo.com with local (Exim —)
(envelope-from <desde@ejemplo.com>)
id 1IEWec-0002fb-Jq
for destino@ejemplo.com; Fri, 27 Jul 2007 17:43:18 -0300
To: destino@ejemplo.com
Subject: Test return_path
Content-Type: text/plain; charset=UTF-8; format=flowed
From: Ejemplo <desde@ejemplo.com>
Reply-to: desde@ejemplo.com
Message-Id: <E1IEWec-0002fb-Jq@servidor.ejemplo.com>
Date: Fri, 27 Jul 2007 17:43:18 -0300
Hasta la próxima!
Julio Alfredo Botto
www.sectorhosting.com
