Mysqli 发送电子邮件循环


mysqli send email loop

我被困在这段代码上,希望这里的聪明人能提供帮助。 :)我正在执行一个查询,导致从数据库中选择了两个电子邮件地址。我的代码不是向每个收件人发送一封电子邮件,而是向第一个收件人发送一封电子邮件,其中包含两封电子邮件。

换句话说,收件人 A 收到一封电子邮件,上面写着:

你好,雷辛彭特 A消息

您好,收件人 B消息


收件人 B 根本无法收到任何消息。

这是代码。感谢您提供的任何帮助!!!

$sql2="SELECT c.email, c.fname FROM c INNER JOIN c_zip_save ON c.username = c_zip_save.username WHERE c_zip_save.zip_code = $zip";
$result = mysqli_query($con,$sql2); 
while($row = $result->fetch_array())
{
$rows[] = $row;
}
foreach($rows as $row)
{
$c_email = $row["email"];
$c_fname = $row["fname"];
$recipient2 = "$c_email";
$subject2 = "SUBJECT";
$message2 .= "Hi, $c_fname! 'n'nThis is an automated courtesy message'n'n";
$extra2 = "From: myemail@myemail.com'r'n";
mail ($recipient2, $subject2, $message2, $extra2);
}
$message = "Hi, %s! 'n'nThis is an automated courtesy message'n'n";
foreach($rows as $row)
{
    ...
    mail ($recipient2, $subject2, sprintf($message, $c_fname), $extra2);
}

这是因为您一直在追加到$message2字符串中,而每次都不要重置它。您可以使用 $message2 = ""; 在 foreach 循环开始时重置它,也可以将$message2 .= "your message"更改为仅$message2 = "your message"