我应该如何将电子邮件发送到长名单? (PHP)

时间:2010-08-13 19:48:15

标签: php email

我想我可以使用一个带有大型密件抄送列表的mail()命令,或者有一个发送许多个人电子邮件的循环。

我只是要使用Bcc,因为这是最容易编程的,并且对于服务器来说似乎最容易处理,但是我必须为To字段选择一些地址。我可以发送邮件到网站自己的地址,但如果收件人发给他们,它会更明智。此外,通过在开头说“Hello [firstname]”来定制每条消息会很不错。

我只是担心发送给太多人会花费太长时间。最大收件人数为2000.网站上的用户选择要发送到的人员列表,键入消息,然后按发送。如果发送给2000人,他们会永远等待吗?服务器会窒息吗?

还有哪些关于邮件服务器将其视为垃圾邮件的注意事项?

编辑:显然我的客户端有一个SMTP服务器,他说可以限制外发电子邮件。但是,当发送给1000多人时,PHP仍然不确定......

3 个答案:

答案 0 :(得分:11)

一次发送大量电子邮件可能会让您的服务器陷入困境,或者如果它是共享主机,则可以在一小时内发送的电子邮件数量有限(bluehost每小时700次)。所以我建议你以大块的形式发送电子邮件。

使用两个字段email_to和email_content创建表email_queue。现在,只要您希望发送电子邮件,只需在此表中插入一条记录,其中包含您希望将电子邮件发送到email_to列中的电子邮件地址以及email_content列中的原始电子邮件内容。

接下来,您将创建一个每小时运行一次的cron作业,该cron作业将检查email_queue表以查看是否必须发送任何电子邮件,它将从email_queue表中获取100条记录并发送这100条电子邮件,电子邮件已被发送,这100条记录将被删除。

我认为这是发送大量电子邮件的理想方式。

答案 1 :(得分:5)

这是一个非常复杂的主题,关于确保电子邮件看起来不像垃圾邮件。你可以通过将它挂钩到像MailChimp.com这样的东西来让自己真正做到一些好处,让它们为你处理讨厌的细节。

答案 2 :(得分:1)

我实际上建议您查看可以通过API访问的第三方。邮寄大量电子邮件可能会对您的服务器造成不利影响,因为它最终会被列入黑名单。查看像www.postmark.com这样的公司或类似的东西,它将限制你的消息队列,管理白名单服务器等。