一次向 20,000 人发送群发电子邮件(理论上)

一次向 20,000 人发送群发电子邮件(理论上)

我的数据库包含 20,000+已验证电子邮件地址。这些是用户的电子邮件,具有权限(用户在选项中设置)从网站接收新闻通讯、更新等。我实际上从未将他们的电子邮件地址用于任何目的,但现在我希望用户定期从网站获取一些更新(每月一次或两个月一次)。我更想知道如何尽快将同一封电子邮件发送给 20K 名用户,以及这样做可能会遇到哪些限制?

我有一些关于如何使用 Cron 和 PHP 内置 mail() 函数来实现这一点的想法,但我无法一次发送 20K 封电子邮件(可以吗?)。此外,我知道电子邮件很可能最终会被放入收件人的垃圾邮件文件夹中(这没关系),但不确定是否有法律禁止发送群发电子邮件或限制(由托管服务定义)。

我需要的是答案,我该怎么做,以及完成这项任务的最佳方法是什么?这不是“给我解决方案”的问题,只是需要一些提示,因为我一生中从未一次发送超过 5 封电子邮件,并且找不到这个问题的答案。想知道大型服务(例如 Facebook、Twitter、Youtube)如何通知其用户(可能同时通知数百万用户)?

注意:抱歉,如果这里不适合问这个问题,我曾考虑过把它发布到哪里,是在这里还是在 StackOverflow 上,但根据我的问题的情况(我没有提供或要求代码),猜测它会在 SO 上被关闭,因为“没有建设性”甚至是“偏离主题”。

答案1

一次性或逐封发送所有电子邮件时,您会遇到一些问题。

垃圾邮件拦截器

为了发送那么多的电子邮件,您需要设置 SPF,可能还需要某种证书签名,使用具有静态 IP 的服务器,最好使用反向 DNS。当您的邮件数量开始增加时,您必须直接联系一些电子邮件邮政局长,通过提交合法的理由和文件将其列入白名单。我们过去每天向我们的订阅者发送大约 25 万封电子邮件,有时每月发送 4 次。

我们编写了自己的程序——但还有很多可用的程序。

您还可以循环发送每封电子邮件并逐一发送...然后尝试对其进行超线程处理...最终分解为域,也许您可​​以通过一些巧妙的编程在大约 1 小时内将它们全部发送出去。

祝你好运

答案2

简短回答:使用静态 IP 和反向 DNS。你可以,但不要一小时内发送。邮件服务器不喜欢短时间内收到数千封电子邮件,否则你会被屏蔽。如果所有邮件都来自刚出现在网络上的邮件服务器,我会说更严重。

详细回答:我每周发送 2,000 封电子邮件。我使用 php 程序发送它们,它是免费软件,我不知道是否可以在这里命名,所以我就不说了。该网站是橙色的,它使用 php 来管理列表(新闻通讯)。我的服务器是 1 GB ram xeon 2.4GHZ 4 核,带有 Debian,它每秒发送 4 封邮件(每封大约 100K),使用 postfix(所有外发邮件都经过病毒检查),所以每小时应该是 14,000 封。如果您向一个域发送太多电子邮件,其中一些可能具有某种阻止功能。雅虎有/有类似灰名单的东西,我记得我不得不在 3 个月内多次联系他们,直到他们停止暂时拒绝。如果我的 ISP 在短时间内发现太多连接,它会拒绝邮件,因此在 postfix 中我减少了连接数,我想是从 20 减到了 10。顺便说一下,Gmail 每秒发送 5,000 封邮件,我从一位开发人员的 debconf (10,11,12) 中听说了这一点。

相关内容