PHPMailer - отправка нескольких электронных писем на адреса, хранящиеся в базе данных mySQL - PullRequest
0 голосов
/ 02 октября 2018

У меня есть следующий фрагмент, в котором я пытаюсь отправить электронную почту на несколько адресов.

$recipients = array();

while ($row = mysqli_fetch_array($result)){   
    $recipients[] = $row;
}

$recipients = array(
   'user_1@domain.com' => 'user_1_name',
   'user_2@domain.com' => 'user_2_name',
);

foreach($recipients as $email => $name)
{
   $mail->addAddress($email, $name);
}

Мне нужно получить массив адресов электронной почты, динамически заполненный содержимым из базы данных, и пробовал это.

$recipients[] = array(
    $row1['email'] => $row1['name']
    );

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

Предупреждение: trim () ожидает, что параметр 1 будет строкой, а массив указан в /Applications/XAMPP...

EDIT

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

Ошибка почтовой программы: необходимо указать хотя бы один адрес электронной почты получателя.

1 Ответ

0 голосов
/ 02 октября 2018

Вы можете напрямую получить адрес

$recipients = array();

while ($row = mysqli_fetch_array($result)){   
     $mail->addRecipent($row['email'], $row['name']);
}

пс лучше использовать for

...