Форма 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() недостаточно для защиты от атаки инъекции заголовка. Вы должны правильно подтвердить адрес электронной почты.

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