0

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

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

你好,Recipent A MESSAGE

你好,收件人 B MESSAGE


收件人 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);
}
4

2 回答 2

4
$message = "Hi, %s! \n\nThis is an automated courtesy message\n\n";

foreach($rows as $row)
{
    ...
    mail ($recipient2, $subject2, sprintf($message, $c_fname), $extra2);
}
于 2013-10-30T13:59:23.597 回答
1

这是因为您一直附加到您的$message2字符串而不每次都重置它。您可以在 foreach 循环开始时重置它$message2 = "";或将其更改$message2 .= "your message"$message2 = "your message"

于 2013-10-30T13:59:36.183 回答