Заголовки PHP mail (), проблема двух к заголовкам - PullRequest
2 голосов
/ 11 августа 2011

Это может быть глупый вопрос, но если я оставлю $to = '' в mail($to,...) и добавлю $to к заголовкам почты 'to' => '<some@mail.address>', может ли это вызвать этот эффект (два заголовка 'to') ?:

To:
Subject: 123
From: <>
To: <some@mail.address>

Ответы [ 2 ]

2 голосов
/ 11 августа 2011

Никогда не удосужился посмотреть точно, как ведет себя mail () до сих пор, просто взломал Wireshark и попробовал пару вещей, и вот результат:


Test1

Сообщение отправлено; До: заголовок появляется раньше От:

mail('person.a@domain.tld','Subject','Body',"From: person.b@domain.tld");

Test2

Сообщение отправлено; Заголовок To: появляется после From:

mail('person.a@domain.tld','Subject','Body',"From: person.b@domain.tld\r\nTo: person.a@domain.tld");

Тест 3

Сообщение не отправлено; PHP пытается это сделать, но не отправляет команду RCPT, просто переходит непосредственно к DATA, что является нарушением протокола, поэтому сервер сообщает PHP об удалении.

mail('','Subject','Body',"From: person.b@domain.tld\r\nTo: person.a@domain.tld");

Тест 4

Сообщение отправлено; оба заголовка To: отображаются в порядке, указанном в $ extra_headers, после From:

mail('person.a@domain.tld','Subject','Body',"From: person.b@domain.tld\r\nTo: person.a@domain.tld\r\nTo: person.c@domain.tld");

Тест 5

Сообщение отправлено; Заголовок To: появляется после From: и имеет значение, указанное в $ Additional_headers

mail('person.a@domain.tld','Subject','Body',"From: person.b@domain.tld\r\nTo: person.c@domain.tld");

Похоже, что заголовок (и) To:, указанный в $ Additional_headers, переопределит один, автоматически сгенерированный PHP, из значения $ to, но вы никогда не получите несколько заголовков To:, если вы явно не установите их в $ additional_headers.

Проверено на PHP 5.2.17 / win32

0 голосов
/ 11 августа 2011

Вы можете иметь несколько to адресов, если вы это имеете в виду:

mail('test@example.com;example@test.com',...);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...