0

因此,当我们的体育俱乐部邮件列表被新成员淹没(发生在新学年)时,它又一次迎来了一年中的时间。

去年我们尝试使用 php 的mail()函数发送电子邮件。

这在前 50 个左右工作正常(并且一次发送一封电子邮件继续正常工作)。然而,大约 50 岁之后,mail()声称它已经发送了邮件,但在另一端没有人收到它们。

我应该指出,在我的实现中,它只是循环遍历我们数据库中的所有电子邮件并运行以下函数:

function sendMail($from,$fromname,$to,$subject,$body){
    $subject = stripslashes($subject);
    $body = nl2br(stripslashes($body));
    $headers = '';
    $headers .= "From: $fromname <$from>\n";
    $headers .= "Reply-to: $fromname <$from>\n";
    $headers .= "Return-Path: $fromname <$from>\n";
    $headers .= "Message-ID: <" . md5(uniqid(time())) . "@" . $_SERVER['SERVER_NAME'] . ">\n";        
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
    $headers .= "Date: " . date('r', time()) . "\n";
    return mail($to,$subject,$body,$headers);
}

有谁知道是什么原因造成的?

4

2 回答 2

2

您可能被 SMTP 中继上的 ratelimit 阻止。

我建议不要发送单独的电子邮件,而是将每个人都设置为该字段,并且该BCC字段中没有人。TOCC

$headers .= 'Bcc: ' . implode(",", $email_array) . "\r\n";
于 2012-08-14T13:24:14.817 回答
0

使用不带“To:”-Header 的 Bcc 会使电子邮件“To:”-Header “未公开的收件人”,这些邮件通常会被严格的服务器阻止。我不建议将其用于时事通讯,'您将被列入黑名单。如果您将此邮件发送给同一 ISP 的几个用户,您肯定会被列入黑名单。

我会推荐一个每 30 分钟左右发送大量邮件的脚本。

于 2012-08-14T13:52:05.237 回答