提问者:小点点

PHPMailer逗号分隔的电子邮件


我有一个数据库字段,其中包含用逗号分隔的电子邮件,如下所示

email1@domain.com,email2@domain.com等

我正在使用PHP邮件,并在这里找到了几篇文章解释如何循环通过每个电子邮件添加到电子邮件地址

我显然做错了什么,因为我下面的代码只发送到一个电子邮件

$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);}

当我输出结果以检查输出时,我只看到所有的电子邮件都是一个没有逗号的字符串

任何建议将是最感激的,因为从我在这里读到的,这应该是工作的。


共1个答案

匿名用户

始终检查您的代码真正在做什么,不要假设它在做您所认为的事情。

您的代码中有一个简单的bug:

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

应该是:

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

否则,您将列名作为电子邮件地址提交。

相关问题