我试图在循环中发送电子邮件,它运行良好,但它一次打印结果到页面,而不是一个接一个。
我想要的是,它应该为发送的每封电子邮件打印一个回复。这就是我目前所拥有的:
//foreach loop
$Response = $ObjMail->send();
if ($Response) {
echo "Email Sent Successfully to $val[name] </br>";
} else {
echo "There was an error sending Email to $val[email]";
}
根据您的$ObjMail
,"成功发送邮件"通常等同于
- 发送邮件服务器(即smtp服务器)接受了该电子邮件,或者
- 调用了
mail()
函数(实际读取文档,尤其是返回值部分)
电子邮件功能很少返回非常有用的值,只要发送的电子邮件至少在某种程度上是可信的。它甚至会返回true,如果电子邮件地址不存在,电子邮件被弹出,你的smtp服务器被列入黑名单。。。
你的问题可能的答案是:默认情况下,你的输出几乎是即时的,除非你的本地sendmail
(大多数主机上的默认值)调用花费的时间超过几微秒,而它通常不会。此外,它没有说明实际发送的邮件。(我想,你认为事实确实如此,但事实并非如此。)
我的建议是,放弃时尚的输出,只发送邮件。你不能确定他们是否真的达到了目标。如果$ObjMail
真的返回了一个错误,那么最好登录到某个地方,这样就不会重复发送到同一个错误地址。