首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用PHP发送群发电子邮件

使用PHP发送群发电子邮件
EN

Stack Overflow用户
提问于 2009-07-13 07:47:43
回答 8查看 119.3K关注 0票数 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名用户都在使用雅虎邮箱,雅虎会将其视为DDOS攻击并拦截我的SMTP服务器的IP地址吗?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-07-13 07:58:39

首先,使用PHP附带的mail()函数不是最佳解决方案。它很容易被标记为垃圾邮件,您需要设置标题以确保正确发送HTML电子邮件。至于代码片段是否能正常工作,我怀疑如果没有specifying extra headers,您将无法在其中正确地获得HTML代码

我建议你看看SwiftMailer,它支持超文本标记语言,支持不同的mime类型和SMTP身份验证(它不太可能将你的邮件标记为垃圾邮件)。

票数 49
EN

Stack Overflow用户

发布于 2009-07-13 08:01:39

这是建议,而不是答案:你最好使用专用的邮件列表软件。mailman是一个经常使用的例子,但是像mlmmj这样简单的东西就足够了。发送大量邮件实际上是一项比实际看起来更困难的任务。您不仅必须发送邮件,还必须跟踪“死”地址,以避免您的邮件,更糟糕的是,您的邮件服务器,被标记为垃圾邮件。出于同样的原因,你必须处理那些取消订阅的人。

您可以自己实现这些功能,但尤其是反弹处理是一项困难且毫无回报的工作。使用邮件列表管理器将使事情变得容易得多。

至于如何让雅虎喜欢你的邮件,那就完全是另一回事了。尽管有很多缺点,但他们似乎非常看重SPF和DomainKey。您可能必须实现它们,这将需要您的邮件服务器管理员的合作。

票数 18
EN

Stack Overflow用户

发布于 2009-07-13 08:21:28

您可以考虑使用CRON来执行这种操作。一次发送大量邮件肯定不好,它可能会被检测为垃圾邮件、ddos、服务器崩溃等。

所以CRON可能是一个很好的解决方案,一次发送100封邮件,然后等待几分钟,然后再发送100封,等等。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1118154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档