我坚持使用这段代码,并希望这里的聪明人能够提供帮助。 :)我正在进行一个查询,导致从数据库中选择两个电子邮件地址。我的代码不是向每个收件人发送一封电子邮件,而是向第一个收件人发送一封电子邮件,其中包含两封电子邮件。
换句话说,收件人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);
}
答案 0 :(得分: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);
}
答案 1 :(得分:1)
这是因为您每次都会在不重置的情况下附加到$message2
字符串。您可以使用$message2 = "";
在foreach循环开始时重置它,也可以将$message2 .= "your message"
更改为$message2 = "your message"