Избегайте двойного PHP заголовка To: - PullRequest
0 голосов
/ 31 октября 2018

Я использую функцию php mail для отправки писем. Я передаю адрес, и я также создаю некоторые дополнительные заголовки электронной почты, включая From: и Reply-To:.

Однако до сих пор я также включал заголовок To: в дополнительные заголовки. Например, я бы передал сообщение электронной почты «user@email.com» в функцию mail, но кроме того, я включу заголовок «a» ниже как часть заголовка.

 "To:Users Name <user@email.com>"

Результатом является то, что php mail включает в сообщение заголовок To: ДВАЖДЫ, один раз с адресом электронной почты (как передано в первом параметре функции), а другой - как часть параметра заголовка, переданного в php mail.

TO: user@email.com
TO: Users Name <user@email.com>

В результате он блокируется некоторыми спам-системами.

Итак, есть несколько вопросов:

  • есть ли реальная выгода, включая полный заголовок To :, который содержит имя получателя и адрес электронной почты, в отличие от простого заголовка TO: «user@gmail.com» без имени получателя.

  • Есть ли причина не просто передавать полный заголовок (то есть имя и адрес электронной почты) в первый параметр функции mail и просто не указывать его в дополнительном параметре заголовка.

Ищете правильный подход здесь. Спасибо

1 Ответ

0 голосов
/ 31 октября 2018

Есть ли реальная выгода, включая полный заголовок To:, который имеет имя получателя и адрес электронной почты, а не просто заголовок TO: "user@gmail.com" без имени получателя?

Да: Из RFC 2822 - Формат интернет-сообщения - 3.4. Спецификация адреса

Обычно почтовый ящик состоит из двух частей: (1) необязательный отображаемое имя, которое указывает имя получателя (которое может быть человеком или системой), которая может быть отображена пользователю почтовое приложение и (2) адрес addr-spec, заключенный в угол скобки («<» и «>»). Существует также альтернативная простая форма почтовый ящик, в котором адрес addr-spec отображается один, без
имя получателя или угловые скобки.

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

Есть ли причина не просто передавать полный заголовок (т. Е. Имя и адрес электронной почты) в первый параметр функции mail и просто не указывать его? дополнительного параметра заголовка?

Нет, вы можете просто использовать первый параметр, Параметр mail() to соответствует RFC 2822.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...