我希望每次运行PHP代码时,foreach循环都会向多个地址发送电子邮件:
$id = "a@a.com
b@c.com
d@e.com";
$new = explode("\n", $id);
foreach ($new as $addr) {
$mail->addAddress($addr);
}
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
但它将所有电子邮件地址放入字段,然后发送电子邮件.
因此,当有人收到电子邮件时,他可以在to字段中看到所有电子邮件收件人.
我想要一个代码来逐个发送电子邮件.
解决方法:
您遇到的问题是,您实际上在实际发送电子邮件之前添加了多个收件人addAddress().
那么,在你的循环之后……
$mail->addAddress('a@a.com'); // Add a recipient
$mail->addAddress('b@c.com'); // Add a another recipient
$mail->addAddress('d@e.com'); // Add a another recipient
TO地址现为a @ a.com,b @ c.com,d @ e.com
然后……你正在向所有人发送电子邮件.
要逐个发送电子邮件,我会在循环内完全初始化邮件对象.
(或调用另一个函数传递地址作为参数).