Изменение пути возврата в функции почты PHP

Можно ли изменить значение возвращаемого пути в сообщениях электронной почты через функцию mail () PHP?

Это значение является «www-data@mydomain.com» в сообщениях электронной почты, которые я отправляю на своем сайте, и это вызывает некоторые проблемы при сбое доставки по электронной почте. Я хочу установить его на свой адрес электронной почты.

Вот код, который я пробовал:

$headers = 'MIME-Version: 1.0' . "\n"; $headers .= "Content-type: text/html; charset=utf-8" . "\n"; $headers .= "Return-Path: <adminemail@yahoo.com>"."\n"; $headers .= "Errors-To: <adminemail@yahoo.com>"."\n"; // Additional headers $headers .= "To: email1@yahoo.com <adminemail@yahoo.com>" . "\n"; $headers .= "From: adminemail@yahoo.com <adminemail@yahoo.com>"; // Mail it mail('email1@yahoo.com', 'test', 'salam', $headers, "f"); 

Вы можете задать ответ и вернуть путь в заголовки, как показано ниже.

 $headers = 'From: webmaster@example.com' . "\r\n" . 'Reply-To: webmaster@example.com' . "\r\n" . 'Return-Path: webmaster@example.com' 

ИЛИ как пятый параметр для настройки пути возврата

 mail($to, $subject, $message, $headers, "-f email@wherever.com"); 

где email@wherever.com должен быть заменен вашей почтой.

Проблема в почтовом формате требует, чтобы заголовки использовали концы строк \r\n … не \n , трюк с этим – некоторые серверы будут принимать оба (конвертировать их для вас, и, похоже, это работает магически), в то время как другие будут рассматривать те, \r\n заканчивается недействительным и в основном игнорирует все ваши заголовки. Поэтому попробуйте вместо этого:

 $headers = "MIME-Version: 1.0\r\n". "Content-type: text/html; charset=utf-8\r\n". "Return-Path: adminemail@yahoo.com"; mail ("email1@yahoo.com","test","salam",$headers); 

Кстати, return-path ожидает почтовый ящик RFC1123 (без угловых скобок, только адрес электронной почты) … не уверен, почему вы хотите установить обратный путь, как в вашем примере, так как он совпадает с адресом from ( так лишний)