我只有100多个联系人需要发送电子邮件到
while ($row = mysql_fetch_array($result)){
$message = "Hello ".$row['first_name'].", \r\n";
$message = $message.$_POST['message'];
if (mail($row['email_address'], $subject, $message, $headers)){
$sent ++;
}else{
$error ++;
}
}
这会运行吗?我已经看过其他方法(梨,smtp),但想知道这是否运行正常?
由于
答案 0 :(得分:3)
我最近使用邮件功能发送给100多个收件人。所以是的它会起作用。
这个功能存在一些问题,但邮件调用之间有一点延迟(100ms)有助于解决这个问题。
答案 1 :(得分:2)
这在很大程度上取决于您的服务器配置以及您的提供商可能的“每x电子邮件的最大数量”限制。 Mail()不是批量邮件的完美命令,但是根据一般经验,我会说任何高达几百封邮件都可能正常工作。
请记住立即记录发送失败的地址(可能是由于此限制),并为其余地址设置退回地址。
答案 2 :(得分:2)
使用sleep(int secs)或usleep(int microseconds)来延迟时间。
你应该在每个周期的循环结束时使用usleep进行小延迟,或者在每10个邮件之后你睡一觉。取决于您的邮件服务器容量。
答案 3 :(得分:0)
如果您不知道您的邮件服务器将处理该号码,您可以将工作分成较小的地址组并将它们添加到临时存储(即MySQL表)。
然后在每个页面请求上,您可以获取一些地址,发送消息并从临时表中删除它们。