Ami*_*tna 0 php oop email phpmailer
我一直在编写一个使用PHP邮件邮件发送电子邮件的触发器.代码的问题在于它将多个邮件发送给单个收件人.我甚至试过使用function singleTo但是即便看起来也没用.
$mail = new PHPMailer();
for($i = 0; $i <= sizeof($emailid); $i++) {
$mail->WordWrap = 50;
$mail->IsHTML(true);
$mail->SingleTo = true;
$mail->AddAddress($emailid[$i],$name[$i]);
$mail->Subject = 'Some Subject';
$mail->Body = "Some Body";
$mail->AltBody = "Some Body";
$errornumber[$i] = 1;
if(!$mail->Send()) {
$errorinfo[$i] = $mail->ErrorInfo;
$errornumber[$i] = 0;
}
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*c B 11
AddAddress()只需在地址数组的末尾添加一个新地址.如果您想发送单个电子邮件,每个地址,您必须在每次迭代时清除该列表,例如
for(...) {
$mail->AddAddress(...);
$mail->send();
$mail->ClearAddresses(); // <---you need this line.
}
Run Code Online (Sandbox Code Playgroud)
如果单个用户正在接收多封电子邮件,那么您需要一些代码来检测您何时发送过一封电子邮件,例如:
$sent = array();
for(...) {
if (isset($sent[$email[$i]])) {
continue; // check if sent already, skip if so
}
...
if ($mail->send()) {
$sent[$email[$i]] = true; // flag address as already sent
}
}
Run Code Online (Sandbox Code Playgroud)