使用PHP发送大量电子邮件

54

我目前在写一篇音乐博客。管理员每隔2-3天发布一篇新文章。管理员发布文章后,将立即向约5000个订阅者发送大量电子邮件。

实现大规模邮件功能的最佳方法是什么?

以下函数是否有效?

function massmail() 
{
  $content = '...';
  foreach ($recipients as $r) {
    $_content = $content . '<img src="http://xxx/trackOpenRate.php?id='.$r.'">';
    mail($r, 'subject', $_content);
  }
}

另一个问题:如果所有5000个订阅用户都在使用Yahoo Mail,Yahoo会把它视为DDOS攻击并阻止我的SMTP服务器的IP地址吗?


是的,但我想对于5000个收件人来说效果不太好。 - Matthew Scharley
如果我使用PHP mail()函数发送5000封电子邮件,但所有邮件都在BCC中,而不是通过mail()循环发送,会发生什么?这样做可以吗? - user345602
9
由于数千封BCC邮件将进入邮件头部,因此您将会遇到以下致命错误(我自己也遇到了):php-server postfix/sendmail[26573]: fatal: mailer@mydomain.com(33): unable to extract recipients: message header length exceeds safety limit - YOMorales
11个回答

0

除了使用软件之外,还有更多需要考虑的因素。如果您能够创建一个批量邮件程序,可以间歇性地发送邮件。例如,如果您要发送给5,000个收件人,请创建一个循环,每次发送38个列表,然后暂停10秒钟。我实际上已经手动发送了500封邮件,持续了几周,到目前为止效果不错。

另一个需要考虑的因素是电子邮件的内容。现在,您需要在电子邮件中放置您的实际办公地址和“取消订阅”选择。这些是大多数收件人电子邮件服务器正在检查的因素。如果您没有这些信息,他们将把您归类为垃圾邮件发送者。

如果您想向您的电子邮件订阅者发送付费服务提供商而不是发送未经请求或冷门营销电子邮件,则Mailchimp是我最好的推荐。

希望对您有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接