Форма PHP - BCC не получает письма
Я пытаюсь BCC электронной почты в моей форме PHP. По какой-то причине следующий код не отправляет форму на адрес BCC:
$headers = "From: " . strip_tags($from) . "\r\n" . "BCC:test@test.com";
$headers .= "Reply-To: ". strip_tags($from) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
Помимо BCC, не получающего электронную почту, форма работает. Для части BCC я использовал принятый ответ в: Добавьте поле BCC в форму контакта php
Любая помощь приветствуется.
1 ответ
Решение
Ваш BCC не разделен \r\n
и поэтому заголовок reply-to присоединяется к значению BCC (делая его недействительным).
Почтовый сервер видит заголовок BCC как:
BCC:test@test.comReply-to: xxx@example.com
Изменить на:
$headers = "From: " . strip_tags($from) . "\r\n" . "BCC:test@test.com\r\n";
Примечание: strip_tags()
недостаточно для защиты от атаки инъекции заголовка. Вы должны правильно подтвердить адрес электронной почты.