PDA

Показать полную графическую версию : PHP mail() - не могу вписать имя в поле "From"


ANR
04-11-2008, 15:39
Доброе утро!

Использую функцию mail() в PHP для отправки письма.

mail("recepient@email.com","test subject","test message","From: sender@mail.com)все отлично работает, письма доходят. Только вот насколько написано на сайте http://www.php.net/function.mail в поле From можно вписать адрес и в таком формате

From: Sender Name <sender@mail.com>то есть чтобы когда получательно октрывал свой почтовый ящик вместо адреса sender@mail.com у него уже в понятном виде писалось имя отправителя.

но при попытке вписать в поле From вышеуказанную последовательность символов, то вылезает ошибка

Warning: mail() [function.mail]: SMTP server response: 501 5.5.4 Invalid Addressто есть он не воспринимает адрес в таком шаблоне. Хотя опять-таки на сайте PHP конкретно указан пример с таким шаблоном. В чем загвоздка?

Заранее благодарен.

PHP версии 5.2.5. / Apache 2.0

tolbol
04-11-2008, 20:22
Как я понимаю, отправка писем происходит через SMTP, в данном случае при авторизации на сервере происходит проверка отправителя как владельца учётной записи, если конечно же это не публичный SMTP сервер без авторизации.
Получается, что при использовании в поле From адреса вида Sender Name <sender@mail.com> сервер не может распознать владельца учётной записи или же что то неверно написано в самом коде, надо смотреть.

Или так попробуйте.
$headers = 'From: Sender Name <sender@mail.com>' . "\r\n";
mail($to, $subject, $message, $headers);




© OSzone.net 2001-2012