Краткая версия вопроса:
Как я могу установить заголовок Sender: [email protected] при отправке почты с помощью mail () в PHP?
(Это заголовок Отправителя: НЕ, а заголовок От:)
Длинная версия:
У нас есть проблемы с тем, что наш сервер отправил почту, ошибочно идентифицированную как СПАМ. Обычная почта (от почтовых клиентов) не имеет такой проблемы (DKIM / SPF все в порядке).
Большая разница между обычной и отправленной сервером почтой — заголовок «Отправитель:». При отправке почты из почтового клиента все хорошо:
From: [email protected]
X-Sender: [email protected]
Заголовки письма, отправленного через PHP, читаются следующим образом:
From: [email protected]
Sender: [email protected]
Этот второй почтовый адрес существует, но я абсолютно не хочу, чтобы наш админский почтовый адрес был там. И адрес администратора заставляет некоторые почтовые серверы думать, что это СПАМ — но это абсолютно НЕ. (Это рассматривается как СПАМ, поскольку, хотя у нас есть запись MX и запись SPF в DNS для vps1949.ourvpsprovider.com, они как-то не распознаются почтовыми серверами. У меня только средний опыт работы с DNS, недостаточно, чтобы понять почему это происходит.)
ourdomain.com и vps1949.ourvpsprovider.com, конечно, указывают на один и тот же IP.
Итак, как я могу установить заголовок Sender: [email protected] при отправке почты с помощью mail () в PHP? Это решило бы это для нас.
(Это заголовок Отправителя: НЕ, а заголовок От:)
Это решило бы все наши проблемы.
Не повезло в Google, я искал несколько часов и пробовал несколько вещей безрезультатно. (Флаг -f на sendmail НЕ является решением, например.)
Поскольку у нас есть VPS, у меня есть полный доступ к серверу, поэтому при необходимости можно изменить или добавить INI-файл. (Я не смог найти sendmail.ini.)
Кто-нибудь может помочь?
Посмотрите на установку обратного значения DNS для IP-адреса вашего сервера. Это должен сделать ваш провайдер. Неправильные значения приведут к отправке почты в нежелательные папки.
Я решил это, изменив имя хоста на сервере. я нашел Как изменить конверт с адреса с помощью почты PHP? и взял ответ, который всем не понравился. Это сработало. Наконец, потребовались недели и недели, чтобы найти это … Так просто.
Для тех, кто имеет то же самое и работает на CentOs 7:
http://www.itzgeek.com/how-tos/linux/centos-how-tos/change-hostname-in-centos-7-rhel-7.html