Как избежать двойного заголовка to: php

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

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

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

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

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

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

Так что есть несколько вопросов:

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

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

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

2
0
61
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Да: От RFC 2822 - Формат Интернет-сообщений - 3.4. Указание адреса

Normally, a mailbox is comprised of two parts: (1) an optional display name that indicates the name of the recipient (which could be a person or a system) that could be displayed to the user of a mail application, and (2) an addr-spec address enclosed in angle brackets ("<" and ">"). There is also an alternate simple form of a mailbox where the addr-spec address appears alone, without the
recipient's name or the angle brackets.

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

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

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

Другие вопросы по теме