1

我是 PEAR::Mail 的新手,我正在寻找可以教我如何发送批量邮件(10K+ 电子邮件)的教程。“在 php 中使用 mail() 效率不高,因为它打开和关闭 smtp 套接字”,这是我从互联网资源中读到的(现在找不到链接,grrr)。

因此,我正在考虑手动执行此操作并使用可用于 PHP 的邮件库,我发现了这个 PEAR:Mail。在 PEAR 网站本身,有“发送多个收件人”的简单教程,所有收件人将被插入到一个数组中然后发送。这是发送 10k++ 电子邮件的方式吗?我记得一个叫做“邮件队列”的东西,但真的不知道如何在 PEAR:Mail 中使用它,有人可以帮我吗?

我认为 Facebook 不会使用 for 循环来发送批量电子邮件(通知),对吗?(嗯,这就是我的想法)

4

2 回答 2

4

批量电子邮件比您实现发件人的语言更多。就 Rich 建议的库而言,您将考虑使用 SMTP 中继来排队和限制您的邮件。

正如我在为我的公司编写群发邮件时发现的那样,任何群发邮件面临的主要问题是邮件被放入以太的速度以及它如何管理已被列入灰名单的邮件的重试。

所以第一,你需要一个可以运行 mailout 工作的可靠的 SMTP 服务器。您还需要某种方式来限制服务并对其进行监控。在运行 IIS 并连接到相当大的管道的标准 Windows Server 上,我们每 15 分钟可以清除 5k 封邮件。如果您希望在 48 小时内实现所有这些,您将被推动。

事实是,您可以多快地推送数据以及 ISP 等施加的进一步人为限制,等等。如果您不希望工作以蜗牛的速度运行,这使得限制、正确的 DNS 记录等绝对至关重要。我可以将 10k 封邮件推出门外的最短时间(邮件大小约为 50kb,因此您可以进一步了解吞吐量)是半小时,我们拥有一流的套件并连接到一个庞大的分配管道支持我们。

在我们公司的早期,当他们过去从我们当地的宽带邮寄东西时,发送 7000 封邮件大约需要 12-14 个小时。因此,您必须了解物理资源非常重要。

此外,您将不可避免地最终收到每 10k 至少约 50 封邮件,这些邮件不会第一次发送。其中大约有 10 个永远不会去任何地方。重试队列中这些邮件的存在可能会对后续批量邮件的传递产生一些拖累,它很小但很重要。

此外,您不能只将 10k 邮件文件发送到任何服务器并期望它对此感到完全满意。我们通过实验发现,每三分钟发送 1k 封邮件给我们提供了最佳的队列发送率。您的里程将根据您的硬件而有所不同。

坦率地说,您对软件库的选择是您现阶段最不担心的事情。

于 2009-10-12T11:20:06.493 回答
0

对电子邮件的东西要非常小心,对垃圾邮件和数据保护的保护有很多需要考虑的事情。对于 Pear,似乎几乎没有有用的文档,尽管这可能会对您有所帮助:

http://www.phpmaniac.net/wiki/index.php/Pear_Mail

尽管也许您最好使用诸如 Campaign Monitor 之类的东西,尤其是在您时间紧迫的情况下。

于 2009-10-12T10:59:03.493 回答