Недавно я опубликовал проблему с настройкой почтового сервера с постфиксными и виртуальными псевдонимами. Я решил проблему здесь:
Postfix / Dovecot - несколько доменов и несколько учетных записей Linux
Подводя итог, я установил myorigin
на localhost, среди некоторых других настроек. Отправка и получение почты через SMTP отлично работает! Однако при отправке почты из /usr/sbin/sendmail
, то есть PHP mail()
команда, она игнорирует From:
заголовок каким-то образом, и вместо этого захватив myorigin
стоимость.
Вот важные заголовки:
From: Me <user@example.org>
Return-path: <root@localhost>
Received: from example.org (example.org [104.xxx.xxx.xxx]) by mx.google.com with ESMTPS...
Received-SPF: neutral (google.com: 104.xxx.xxx.xxx is neither permitted nor denied by best guess record for domain of root@localhost) client-ip=104.xxx.xxx.xxx;
Когда я меняю myorigin
к example.org
все хорошо отправляется с PHP, но полностью лишает меня возможности получать и отправлять почту любым другим способом. Так что это не совсем решение.
Итак, что я хотел бы сделать, это сказать /usr/sbin/sendmail
не использовать myorigin
, но вместо того, чтобы /etc/mailname
ТОЛЬКО ДЛЯ PHP. Я хочу сохранить почту postfix везде.
Это возможно?
Спасибо.
Ладно, возможно, я немного поспешил с этим вопросом. Оказывается, это отлично работает:
/usr/sbin/sendmail -i -t -f postmaster@example.org
Итак, настоящее решение состоит в том, чтобы использовать
mail.force_extra_parameters
флаг и установите его на -fpostmaster@example.org
Просто убедитесь, что вы не тестируете с помощью cli php.ini, ожидая, что apache php.ini будет работать. Шиш.