Электронные письма PHPMailer, разделенные запятыми - PullRequest
0 голосов
/ 17 июня 2020

У меня есть поле базы данных, которое содержит электронные письма, разделенные запятыми, как показано ниже

email1@domain.com,email2@domain.com, et c et c

Я использую PHP Mailer и нашли здесь несколько статей, в которых объясняется, как l oop через каждое электронное письмо добавлять каждое электронное письмо к адресу электронной почты

Я явно делаю что-то не так, поскольку мой код ниже отправляет только одно письмо

$sql="SELECT Email FROM Managers WHERE Company = '$name';"; 
    $result = mysqli_query($db,$sql);
    while ($row = mysqli_fetch_assoc($result));  

        $address = explode (',' , $row['Email']);

        foreach ($address as $key => $v) {$mail->addAddress($key);}

Когда я вывожу результат для проверки вывода, я просто вижу все электронные письма как одну строку без запятых

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

ОБНОВЛЕНИЕ: теперь у меня это работает, как показано ниже. Спасибо за помощь:

$sql="SELECT Email FROM Managers WHERE Company = '$name';"; 
    $result = mysqli_query($db,$sql);

    while ($row = mysqli_fetch_array($result)) { 

    $address = $row['Email'];
    $address2 =  explode (',',$address);

    foreach ($address2 as $v) {$mail->addAddress($v);}

1 Ответ

0 голосов
/ 17 июня 2020

Всегда проверяйте, что ваш код действительно делает, не думайте, что он делает то, что вы думаете.

В вашем коде есть простая ошибка:

foreach ($address as $key => $v) {$mail->addAddress($key);}

Должно быть:

foreach ($address as $v) {$mail->addAddress($v);}

в противном случае вы отправляете имя столбца в качестве адреса электронной почты.

...