在PHP中使用PEAR :: Mail发送批量邮件?

时间:2009-10-12 03:09:49

标签: php email send bulk

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

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

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

2 个答案:

答案 0 :(得分:4)

批量发送电子邮件的次数多于您实施发件人所使用的语言。就富人建议的库而言,您会考虑使用SMTP中继来排队和限制邮件。

正如我发现when I wrote the mass mailer for my company任何批量邮件所面临的主要问题是邮件被冲进以太网的速度以及它如何管理已经列入灰名单的邮件或其他任何邮件的重试。

因此,您需要一个可以运行mailout作业的良好的可靠SMTP服务器。您还需要一些方法来限制服务并监控它。在运行IIS并连接到相当大的管道的标准Windows Server上,我们可以每15分钟清除5k邮件。如果您希望在48小时内完成所有这些工作,那么您将会被推动。

事实上,对于推送数据的速度以及ISP等强加的进一步人为限制存在严格的限制。如果您不希望作业以蜗牛的速度运行,这使得限制,正确的DNS记录等绝对至关重要。我可以将10k邮件推出门的最短时间(邮件大小约为50kb,这样可以进一步了解吞吐量)是半小时,我们已经拥有顶级的线路套件和连接到一个巨大的配送管道支持我们。

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

此外,您将不可避免地最终得到每10k最少约50封邮件,这些邮件不会首次发布。其中大约10个都没有去过任何地方。重试队列中存在这些邮件会对其他批次邮件的传递产生一些阻力影响,但这种影响很小但很重要。

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

坦率地说,在这个阶段,您选择的软件库是您最不担心的。

答案 1 :(得分:0)

非常非常小心处理电子邮件的内容,对于垃圾邮件和数据保护方面的问题,需要考虑很多。使用Pear,似乎没有任何有用的文档,尽管这可能会对您有所帮助:

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

虽然也许你可能会更喜欢使用像Campaign Monitor这样的东西,特别是如果你的时间很短的话。