Подтвердить что ты не робот

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

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

Это значение является "[email protected]" в сообщениях электронной почты, которые я отправляю на своем сайте, и это вызывает некоторые проблемы при сбое процесса доставки по электронной почте. Я хочу установить его на свой адрес электронной почты.

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

$headers = 'MIME-Version: 1.0' . "\n";
$headers .= "Content-type: text/html; charset=utf-8" . "\n";
$headers .= "Return-Path: <[email protected]>"."\n";
$headers .= "Errors-To: <[email protected]>"."\n";
// Additional headers
$headers .= "To: [email protected] <[email protected]>" . "\n";
$headers .= "From: [email protected] <[email protected]>";
// Mail it
mail('[email protected]', 'test', 'salam', $headers, "f");
4b9b3361

Ответ 1

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

$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'Return-Path: [email protected]'

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

mail($to, $subject, $message, $headers, "-f [email protected]");

где [email protected] должен быть заменен вашей почтой.

Ответ 2

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

$headers = "MIME-Version: 1.0\r\n".
   "Content-type: text/html; charset=utf-8\r\n".
   "Return-Path: [email protected]";
mail ("[email protected]","test","salam",$headers);

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

Ответ 3

Просто определите Return-Path

$returnPath = "[email protected]"; //-f will do the job
mail('[email protected]', 'test', 'salam', $headers, $returnPath);