gpt4 book ai didi

php - 如何将 PHP 邮件程序发送到通过 MySQL 查询收到的多个电子邮件地址

转载 作者:可可西里 更新时间:2023-11-01 08:04:19 25 4
gpt4 key购买 nike

我运行 MySQL 查询以从“通知”设置为 YES 的表中获取名字、姓氏和电子邮件,如下所示。在 while 循环中,我创建了所有信息,然后将其放入数组中:

$sql = "SELECT firstname, lastname, email, notify FROM guesses
WHERE poolid = '$poolid'
AND notify = 'yes'";
$getnotify = mysqli_query($connection, $sql);
if (!$getnotify) {
die("Database query failed: " . mysqli_error());
} else {
while ($row = mysqli_fetch_array($getnotify)) {
$notifyemailscontent.="'".$row['email'] . "' => '" . $row['firstname'] . " " . $row['lastname']. "',";
}
}

$notifyemails=array($notifyemailscontent);

然后在 PHP 邮件程序代码中,我总是发送到我的地址,如下所示:

$mail->addAddress(myemail@myemail.com, 'Me');

但是我还想将我在 mysql 查询中收到的电子邮件(无论是 1 还是 100)添加为 CC 或 BCC(都可以)。基于我在网上找到的一些东西,我尝试像下面这样做,但它的行为并不像我想要的那样。

foreach($notifyemails as $email => $name)
{
$mail->AddBCC($email, $name);
}

注意:它是将电子邮件发送给我,而不是将电子邮件发送给密件抄送人员。当我打印 $notifyemails 数组时,我得到以下信息(在这种情况下只有一封 BCC 电子邮件):

数组 ([0] => 'bjones@bobscompany.com' => '鲍勃琼斯', )

再次,我收到了电子邮件,但 Bob 并未密件抄送。所以我认为上面的 for 循环或顶部的 mysql 查询循环中一定有问题???任何见解/方向将不胜感激。

最佳答案

您的数组 构造不当,请使用以下内容:

while ($row = mysqli_fetch_array($getnotify)) {
$notifyemailscontent[$row['email']] = "{$row['firstname']} {$row['lastname']}";
}

然后,在 phpmailer block 中:

foreach($notifyemailscontent as $email => $name)
{
$mail->AddCC($email, $name);
}

关于php - 如何将 PHP 邮件程序发送到通过 MySQL 查询收到的多个电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37221461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com