如何处理群发电子邮件

时间:2009-12-28 19:30:18

标签: php mysql email

我准备推出一个“即将推出”页面,我需要的一件事是用户输入他们的电子邮件地址,让我在网站上线后发送电子邮件。做这个的最好方式是什么?

我应该将电子邮件存储在数据库中,然后运行PHP脚本从我的网络主机发送电子邮件吗?我是否应该收集这些电子邮件,然后由我本地或从服务器手动通过电子邮件发送?还有其他方法吗?

此外,是否有某些网络主机会限制您发送的电子邮件数量,从而导致群发电子邮件出现问题。

目前唯一的“未知”是我会得到多大的响应......只有时间会证明。

谢谢你们!

6 个答案:

答案 0 :(得分:2)

将其存储在数据库中 - 是的。这与存储任何其他数据没有什么不同。

立即发送群发电子邮件 - 否

手动群发电子邮件(或手动单独邮寄) - 否

某些网络托管服务商会限制您一次可以发送的数量吗? - 是的

我不知道“最好”的方式,但我知道一个非常好的方法。我们已经构建了几个大规模的电子邮件程序,我们采用的技术是一种限制技术,我们有一个每三分钟运行一次的脚本,一次发送20封电子邮件。

它可以防止服务器阻塞,并防止邮件队列超出我们主机的任何邮件限制。

答案 1 :(得分:1)

将电子邮件地址存储在数据库中并编写批处理作业,邮件将它们合并到您的邮件中,并根据需要将其发送出去。

答案 2 :(得分:1)

与上面提到的Eric一样,另一种选择是使用商业服务来管理您的邮件列表。

我使用Mailchimp(http://www.mailchimp.com)。它们为您提供所需的一切(注册表单,电子邮件模板等),并且完全免费,除非您的列表增加到超过500个订阅者。

答案 3 :(得分:1)

有许多方法可以用于解决这类问题,但不幸的是,没有真正的方法可以为您找到解决方案,因为存在很多变量。

如果您只获得3个回复,那么您可能只想使用BCC手动通过电子邮件客户端向用户发送电子邮件:您已经拥有了所需的所有工具,设置脚本可能是浪费时间。然而,这并不是一个很好的长期解决方案。

对于大多数中等规模的网站,您可以将电子邮件存储在数据库中,并使用邮件脚本将其发送出去。 PHPMailer是帮助发送邮件的好工具,您可以手动管理大量的电子邮件地址。然而,手动管理地址可能会有点麻烦,因为您必须处理取消订阅链接,脚本超时,退回电子邮件等。

如果您获得了数以万计的电子邮件地址,您可能需要开始查看可以进行线程发送的第三方邮件软件或服务。通过PHP脚本循环并向50,000人发送电子邮件可能会很慢,并且需要数小时。

基本上你必须权衡每种方法的难度,时间和成本,以及你认为你需要的灵活性和能力。

答案 4 :(得分:1)

要在数据库中存储电子邮件,并使用cronjob发送电子邮件是解决问题的好方法,如果您对在一段时间内允许发送的电子邮件数量有约束,则可以处理它通过跟踪每次cronjob运行时发送的电子邮件数量。 此外,还有开源产品,例如phplist http://www.phplist.com/

答案 5 :(得分:0)

将电子邮件写入数据库或文本/日志文件都是存储电子邮件的好方法。

根据您收到的电子邮件数量,您可能需要编写程序(PHP工作)以向每个人发送单独的电子邮件。不要发送来自常规电子邮件客户端的群发电子邮件,其中包含大量To:行的所有人。

还有商业程序管理邮件到人员列表(也可能是开源的)。大多数商业提供免费试用期。