получить список адресов электронной почты из базы данных и отправить почту всем из сценария php без использования API - PullRequest
0 голосов
/ 28 марта 2012
 $sql = "select emailid from table where category = 1";
    while($row=mysql_fetch_array($sql))
    {
            $email=$row['emailid'];
            $to = $email;

            $subject = "E-mail subject";
            $body = "E-mail body";
            $headers = 'From: info@mydomain.com' . "\r\n" ;
            $headers .= 'Reply-To: info@mydomain.com' . "\r\n";
            mail($to, $subject, $body, $headers);
    }

Предположим, что приведенный выше код будет получать 100 идентификаторов электронной почты из базы данных и отправлять почту по одному на каждый идентификатор электронной почты.но то, что я хочу сделать, это .... получить все идентификаторы электронной почты в массиве и отправить их как «BCC» на каждое письмо сразу.еще одна вещь, которую я хочу настроить содержание тела электронной почты для каждого идентификатора ....

Есть идеи?

1 Ответ

1 голос
/ 28 марта 2012

То, что вы хотите сделать, невозможно.Если вы отправите их сразу по нескольким адресам в To / CC / BCC, все получат одно и то же письмо.Таким образом, вы не можете настроить тела.

Если отправка одного и того же письма всем в порядке, попробуйте следующее:

$sql = mysql_query("select emailid from table where category = 1");
$recipients = array();
while($row = mysql_fetch_array($sql)) {
    $recipients[] = $row['emailid'];
}

$to = 'info@mydomain.com';
$subject = "E-mail subject";
$body = "E-mail body";
$headers = 'From: info@mydomain.com' . "\r\n" ;
$headers .= 'Reply-To: info@mydomain.com' . "\r\n";
$headers .= 'BCC: ' . implode(', ', $recipients) . "\r\n";

mail($to, $subject, $body, $headers);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...