Почему он не возвращается на мой обратный путь? - PullRequest
1 голос
/ 22 июня 2009

Я использую php, использую функцию mail:

$headers =  'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: admin@domain.com' . "\r\n";
$headers .= 'Reply-To: Admin <admin@domain.com>' . "\r\n";

// Return Path - 
$return_path = "bounce@domain.com";

$toUser... (all necessary variables)

if(mail($toUser,$subject,$body,$headers, "-f".$return_path)){
    echo "res=sent";
} else {
    echo "res=error";
    }

Я проверил несколько писем, таких как, abXXX@kasbkjasbdka.com, 8hgb87@9ndksjc9ne.com

(и т. Д., Все недействительные, несуществующие адреса электронной почты)

Почему это не идет на мой bounce@domain.com????

Ответы [ 3 ]

1 голос
/ 22 июня 2009

Вы также сможете установить Return-Path, используя заголовок на большинстве серверов:

$headers .= "Return-Path: bounce@domain.com\r\n";
0 голосов
/ 22 июня 2009

Это может быть вызвано настройкой вашего sendmail. Параметр -F передается в виде атрибута командной строки, поэтому для его поддержки необходимо настроить sendmail.

С php.net :

дополнительный параметр___parameters может использоваться для передачи дополнительных флагов в качестве параметров командной строки для программы настроен для использования при отправке mail, как определено в sendmail_path настройка конфигурации. Например, это может быть использовано для установки конверта адрес отправителя при использовании sendmail с опцией -f sendmail.

Редактировать: Я только что видел, что Ответ Маттиаса Байненса правильный, см. эту запись

0 голосов
/ 22 июня 2009

Вам необходимо добавить пробел после -f. Кроме того, почему бы не использовать UTF-8 вместо iso-8859-1? Попробуйте это:

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
$headers .= 'From: admin@domain.com' . "\r\n";
$headers .= 'Reply-To: Admin <admin@domain.com>' . "\r\n";

// Return Path
$return_path = 'bounce@domain.com';

/*
$toUser... (all necessary variables)
*/

if(mail($toUser, $subject, $body, $headers, '-f ' . $return_path)) {
 echo 'res=sent';
} else {
 echo 'res=error';
}
...