PHPMailer - 向存储在 mySQL 数据库中的地址发送多封电子邮件

PHPMailer - Sending multiple emails to addresses stored in the mySQL database

我有以下代码片段,我在其中尝试向多个地址发送电子邮件。

$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']
    );

我收到以下错误,所以我知道我没有正确获取数组。感谢您对我在那里做错了什么的想法。

Warning: trim() expects parameter 1 to be string, array given in /Applications/XAMPP...

编辑

PHPMailer 还会触发以下错误,据我所知,这是因为我尝试动态填充的数组未从数据库中获取任何电子邮件地址。

Mailer Error: You must provide at least one recipient email address.

可以直接获取地址

$recipients = array();

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

p.s。更好地使用 for