Intereting Posts
PHP (Apache) безмолвно преобразует HTTP 429 и другие в 500 Проблема получения реального IP-адреса в php PHP MySQLI Запретить SQL Injection Создание эскизов видео без ffmpeg в PHP Цикл над DOMDocument Предупреждение: невозможно изменить информацию заголовка – уже отправленные заголовки Проблема PHP Curl и setcookie Как получить аутентифицированное имя пользователя под Apache, используя обычную проверку подлинности HTTP и PHP? PHPMailer отправляет электронные письма с предупреждением: это сообщение может и не отправляться: foo@gmail.com Подробнее Неустранимая ошибка: вызов функции-члена close () для не-объекта. Проблемы с MySQLi Преобразование массива результатов PHP в JSON YII, как обрабатывать пользовательскую страницу ошибки 404 вместе с другими страницами ошибок : Ошибка -> Слишком мало аргументов в sprintf (); Каков «правильный» способ предоставления приложения Zend с помощью обработчика базы данных Предоставление PHP5 не удалось открыть поток: ошибка запроса HTTP-запроса при использовании fopen

PHP Отправка электронной почты BCC

Я знаю, что есть несколько подобных вопросов, но я просто не могу заставить его работать.

Хорошо, у меня есть список писем, полученных из моей базы данных в переменной $ emailList. Я могу получить свой код для отправки электронной почты из формы, если я поместил переменную в раздел $to но я не могу заставить ее работать с ОЦК. Я даже добавил электронное письмо в $to понять, что это так, но это не имеет значения.

Вот мой код.

 $to = "name@mydomain.com"; $subject .= "".$emailSubject.""; $headers .= 'Bcc: $emailList'; $headers = "From: no-reply@thepartyfinder.co.uk\r\n" . "X-Mailer: php"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; $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. Я не представил все это, поэтому он отсутствует в этом коде.

Solutions Collecting From Web of "PHP Отправка электронной почты BCC"

У вас $headers .= '...'; затем $headers = '...'; ; вторая строка перезаписывает первую.

Просто поставьте $headers .= "Bcc: $emailList\r\n"; скажем, после строки Content-type и все должно быть хорошо.

На стороне примечание, как правило, требуется; почтовые серверы могут пометить ваше сообщение как спам в противном случае.

 $headers = "From: no-reply@thepartyfinder.co.uk\r\n" . "X-Mailer: php\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; $headers .= "Bcc: $emailList\r\n"; 

Вы устанавливали BCC, но затем перезаписывали переменную с помощью FROM

 $to = "name@mydomain.com"; $subject .= "".$emailSubject.""; $headers .= "Bcc: ".$emailList."\r\n"; $headers .= "From: no-reply@thepartyfinder.co.uk\r\n" . "X-Mailer: php"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; $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."); }