PHP mail () функция автоответа - PullRequest
1 голос
/ 18 мая 2011

Я использую функцию PHP mail () в форме для отправки электронного письма на адрес с автоответчиком. К сожалению, поскольку электронное письмо генерируется из формы, оно пытается ответить на www.domain.com@web.pas.earthlink.net, который не существует, и возвращается в исходное состояние.

mail("info@domain.com", $email_subject, $email_message, $headers);

другая информация:

$email_from = "forms@domain.com";

$headers = "From: ".$email_from;
$headers .= "\nReply-To: ".$email_from;
$headers .= "\nReturn-Path: ".$email_from;
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";

Есть ли способ это исправить? Как я могу установить правильный обратный адрес?

edit: я должен сказать, что при получении ответа адрес для ответа правильно устанавливается в $ email_from. В любом случае автоответчик все еще пытается отправить его по адресу www.domain.com@web.pas.earthlink.net.

.

Ответы [ 2 ]

1 голос
/ 18 мая 2011

Вы можете установить Return-Path (если вы это имеете в виду) с помощью пятого параметра :

почта bool (строка $ to, строка $ subject, строка $ message [, строка $ Additional_headers [, строка $ дополнительные_параметры]])

... где:

дополнительные_параметры (необязательно)

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

Пользователь, с которым работает веб-сервер, должен быть добавлен в качестве доверенного пользователя в конфигурацию sendmail для предотвратить заголовок «X-Warning» от добавляется в сообщение, когда отправитель конверта (-f) устанавливается с помощью этого метод. Для пользователей sendmail этот файл is /etc/mail/trusted-users.

Установка его на -finfo@domain.com должна сработать.

В любом случае, я считаю, что автоответчик должен использовать адрес из заголовка From (если не указано Reply-To), ну да ладно ...:)

1 голос
/ 18 мая 2011

Return-Path не похож на другие почтовые заголовки. Это так называемый «заголовок конверта». Они устанавливаются MTA, а не полями в заголовочной части фактической почты. У большинства MTA есть специальный флаг для установки Return-Path. В Postfix, Sendmail и Exim это флаг f, поэтому в этих системах вы обычно можете вызывать mail следующим образом:

mail($to, $subject, $message, $additional_headers, '-f'.$email_from);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...