php set email user agent - PullRequest
       11

php set email user agent

0 голосов
/ 02 декабря 2009

У меня есть приложение, которое отправляет электронные письма с подтверждением на адрес электронной почты учетной записи, но иногда оно входит в их фильтр спама, после анализа электронной почты мы обнаружили, что одной из причин является отсутствие имени агента пользователя.

есть ли способ установить это, используя отправителя электронной почты php по умолчанию?

спасибо

Ответы [ 4 ]

2 голосов
/ 02 декабря 2009

Я написал исчерпывающее «что делать, если автоматически сгенерированные письма проглатываются фильтром спама» несколько лет назад. К сожалению, это на немецком языке, но один аспект, который я запомнил из проведенного мною исследования, заключается в том, что спам-фильтры могут очень избирательно реагировать на сигнатуры X-Mailer, указывающие на язык программирования / script / bulk E-Mailer. Вы можете притвориться обычной почтовой программой, такой как Outlook, чтобы убедиться, что электронная почта проходит.

1 голос
/ 02 декабря 2009

Единственный параметр агента пользователя в PHP - user_agent, но этот параметр используется только для HTTP-запросов. Вы можете передать дополнительные заголовки в функцию mail(), чтобы выполнить это:

mail(
    'to@example.com',
    'Subject',
    'Message Body',
    "From: from@example.com\r\nX-Mailer: PHP"
);
0 голосов
/ 21 сентября 2014

Заголовки, такие как X-Mailer (все начинаются с X -)
являются дополнительными заголовками и не определяют заголовок User Agent.
Вы должны определить заголовок: «Пользователь-агент».
Просматривайте источники ваших сообщений, которые вы отправляете из почтового клиента.

0 голосов
/ 02 декабря 2009

Вам нужно установить заголовок, который идентифицирует вашу программу. Как вы видите в руководстве по php для mail , четвертый параметр позволяет вам включать заголовки. RFC идентифицирует как «Mailer», «X-Mailer» и «Sender» в качестве агентов, поэтому какой из них использовать, я оставлю вам ( wikipedia отмечает, что X-Mailer часто используется клиентами ).

Пример:

$headers = "X-Mailer: MyApp\r\n";
$succcess = mail(€to, $subject, $message, $headers);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...