Почему я должен использовать «-f from@email.com» в функции mail () - PullRequest
3 голосов
/ 30 ноября 2011

Недавно у одного из моих коллег возникли проблемы с отправкой почты с разных хостов, на которых мы занимались разработкой сайтов. Затем он давно вспомнил, что, используя 5-й параметр, он может передать "-f email" в вызове mail (), например:

mail('mdumoulin@mydomain.com', 'test', 'test', '', '-f mdumoulin@mydomain.com');

Мне действительно интересно, ПОЧЕМУ он должен это делать, и по какой причине моя почта не отправляется, когда я не использую этот флаг.

Обратите внимание, что то же самое произошло снова на сервере разработки, который я собирал, если я не поместил 5-й параметр, почта терялась в пространстве и никогда не отправлялась.


UPDATE

Как мне настроить postfix / php, чтобы мне не пришлось использовать эту конфигурацию. Я программирую на PHP 11 лет, и только недавно я начал это делать. Должен быть способ предотвратить это ...

1 Ответ

2 голосов
/ 30 ноября 2011

Похоже, что вы должны быть доверенным пользователем на отправляющем сервере, чтобы отправлять почту с него.Из того, что я прочитал в своем исследовании, -f просто подтверждает, что ваш пользователь является доверенным пользователем.

http://www.php.net/manual/en/function.mail.php Исследования -f на этой странице, вы попали прямо на него.

То, что делает вашу почту не отправляемой, так это то, что сервер, не распознающий доверенного пользователя, добавляет заголовок X-Warning.

...