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

时间:2018-10-02 15:59:48

标签: php phpmailer

我有以下代码段试图将电子邮件发送到多个地址。

$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 ...

编辑

PHPMailer还会触发以下错误,由于我试图动态填充的数组没有从数据库中获取任何电子邮件地址,因此我理解该错误。

  

邮件错误:您必须提供至少一个收件人电子邮件地址。

1 个答案:

答案 0 :(得分:1)

您可以直接获取地址

$recipients = array();

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

p.s。更好地使用for