0

私はこのコードに行き詰まっており、ここの素晴らしい頭脳が助けてくれることを願っています. :) データベースから 2 つの電子メール アドレスが選択されるクエリを実行しています。私のコードは、各受信者に 1 つの電子メールを送信するのではなく、両方の電子メールを含む最初の受信者に電子メールを送信します。

つまり、受信者 A は次のようなメールを受け取ります。

こんにちは、受信者 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 に答える