PHPMailer を使用している一部の人のように、私はこの問題を抱えており、インターネット上で解決策を見つけることができません。問題は、ループ (while、foreach) に設定すると、PHPMailer が重複 (2 つ以上) を送信することです。ループに問題がないことを確認しましたが、重複を送信し続けます。
よりシンプルに見えるようにした後のコードは次のとおりです。
<?
require("PHPMailer/class.phpmailer.php");
$select = mysql_query("SELECT * FROM `pm_mailmembers` WHERE `mm_interval`='2' AND mm_blocked = 0") or die(mysql_error());
$mail = new PHPMailer();
$mail->SingleTo = true;
$mail->CharSet = "UTF-8";
$mail->Subject = "Fiscanet Nieuws";
$sendContent = "<p>This is test mail</p>";
$r_receivers = array("John"=>"john@mail.com","Mary"=>"mary@mail.com","Rob"=>"rob@mail.com");
foreach($r_receivers as $name=>$email){
$mail->SetFrom('no-reply@yoursite.com', "Yoursite");
$mail->MsgHTML($sendContent);
$mail->AddAddress($email, $name);
if($mail->Send())
echo "Sent to: ".$email."<br/>";
else
echo "Not sent to: ".$email.", reason: ".$mail->ErrorInfo."<br/>";
$mail->ClearAddresses();
}
?>
ループ内で mail->addaddress をリセットする必要があると思いますが、mail->clearaddresses は役に立ちません。また、3 つのメールはすべて、常に同じメールを受信します。だから、全員が2、3通のメールを受け取ります。
誰かここで私を助けてくれませんか?? ありがとう。アヨク
問題はさらに複雑になります...コードを単純なmail()に変更しようとしましたが、重複を送信し続けます。原因は何ですか?サーバーの設定の問題ですか??
これを mysite.com のサブドメイン、たとえば sub.mysite.com で行いました。Mysite.com と sub.mysite.com は別のサーバーにあります。それが原因でしょうか?
ありがとう、アヨク