用邮件发送超过100()

时间:2009-12-27 17:18:24

标签: php email

我只有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),但想知道这是否运行正常?

由于

4 个答案:

答案 0 :(得分:3)

我最近使用邮件功能发送给100多个收件人。所以是的它会起作用。

这个功能存在一些问题,但邮件调用之间有一点延迟(100ms)有助于解决这个问题。

答案 1 :(得分:2)

这在很大程度上取决于您的服务器配置以及您的提供商可能的“每x电子邮件的最大数量”限制。 Mail()不是批量邮件的完美命令,但是根据一般经验,我会说任何高达几百封邮件都可能正常工作。

请记住立即记录发送失败的地址(可能是由于此限制),并为其余地址设置退回地址。

答案 2 :(得分:2)

使用sleep(int secs)或usleep(int microseconds)来延迟时间。

你应该在每个周期的循环结束时使用usleep进行小延迟,或者在每10个邮件之后你睡一觉。取决于您的邮件服务器容量。

答案 3 :(得分:0)

如果您不知道您的邮件服务器将处理该号码,您可以将工作分成较小的地址组并将它们添加到临时存储(即MySQL表)。

然后在每个页面请求上,您可以获取一些地址,发送消息并从临时表中删除它们。