#php #phpmailer #bcc
#php #Адрес электронной почты #bcc
Вопрос:
Я знаю, что есть несколько похожих вопросов к этому, но я просто не могу заставить это работать.
Хорошо, у меня есть список электронных писем, извлеченных из моей базы данных в переменной с именем $ emailList. Я могу заставить свой код отправлять электронное письмо из формы, если я помещу переменную в $to
раздел, но я не могу заставить его работать с bcc. Я даже добавил электронное письмо в $to
на тот случай, если это было так, но это не имеет значения.
Вот мой код.
$to = "name@mydomain.com";
$subject .= "".$emailSubject."";
$headers .= 'Bcc: $emailList';
$headers = "From: no-reply@thepartyfinder.co.ukrn" . "X-Mailer: php";
$headers .= "MIME-Version: 1.0rn";
$headers .= "Content-Type: text/html; charset=ISO-8859-1rn";
$message = '<html><body>';
$message .= 'THE MESSAGE FROM THE FORM';
if (mail($to, $subject, $message, $headers)) {
$sent = "Your email was sent!";
} else {
$sent = ("Error sending email.");
}
Я пробовал оба кода:
$headers .= 'Bcc: $emailList';
и
$headers .= 'Bcc: '.$emailList.';
Дело не в том, что электронные письма не разделены, потому что они есть. Я знаю, что это так, потому что это работает, если я помещу $emailList
в $to
раздел.
Я должен добавить, игнорировать $message
биты и HTML-материал. Я не предоставил всего этого, поэтому в этом коде это отсутствует.
Комментарии:
1. У вас отсутствует » r n» после вашего заголовка BCC, а затем вы перезаписываете заголовки в следующей строке с помощью From .
2. Я также пробовал с r n. Итак, куда мне поместить bcc? Обязательно ли это должно быть в определенном месте?
3. @drew010, ваш комментарий должен быть опубликован в качестве ответа.
4. @drew010 большое спасибо! Теперь это работает. Если вы опубликуете это как ответ, я приму его.
5. @BenToms не беспокойтесь, я был ленив, рад, что у вас это заработало сейчас.
Ответ №1:
За вами $headers .= '...';
следует $headers = '...';
; вторая строка перезаписывает первую.
Просто поставьте $headers .= "Bcc: $emailListrn";
say после Content-type
строки, и все должно быть в порядке.
Кстати, To
обычно требуется; в противном случае почтовые серверы могут пометить ваше сообщение как спам.
$headers = "From: no-reply@thepartyfinder.co.ukrn" .
"X-Mailer: phprn";
$headers .= "MIME-Version: 1.0rn";
$headers .= "Content-Type: text/html; charset=ISO-8859-1rn";
$headers .= "Bcc: $emailListrn";
Комментарии:
1. У меня никогда не было проблемы, когда в заголовках не указывалось ‘Кому’.
2. Я в этом не сомневаюсь. Я просто имею в виду, что существует множество почтовых серверов и фильтров для спама, и электронные письма с отсутствующими / странными битами заголовка обычно получают более высокие оценки за спам.
Ответ №2:
Вы устанавливали BCC, но затем перезаписали переменную с помощью FROM
$to = "name@mydomain.com";
$subject .= "".$emailSubject."";
$headers .= "Bcc: ".$emailList."rn";
$headers .= "From: no-reply@thepartyfinder.co.ukrn" .
"X-Mailer: php";
$headers .= "MIME-Version: 1.0rn";
$headers .= "Content-Type: text/html; charset=ISO-8859-1rn";
$message = '<html><body>';
$message .= 'THE MESSAGE FROM THE FORM';
if (mail($to, $subject, $message, $headers)) {
$sent = "Your email was sent!";
} else {
$sent = ("Error sending email.");
}
Комментарии:
1.
rn
Должно быть в двойных кавычках, иначе это воспринимается буквально. Только у того, кто находится наBCC
, была эта проблема.