【发布时间】:2021-04-01 01:51:48
【问题描述】:
我知道这个问题与其他多个电子邮件收件人问题类似,但它们都没有给我一个我可以使用的解决方案...
我正在尝试向注册用户发送简报电子邮件。每个时事通讯都将包含一个“取消订阅”链接,该链接对每个用户都是唯一的。用户数量越来越多,这使得向他们发送新闻通讯变得越来越困难/效率低下。我已经阅读并尝试了不同的解决方案:
- 为每个用户发送一封带有
mail()的电子邮件。 IE。遍历用户并向每个用户发送一封电子邮件。优点是我可以为每个用户配置具有唯一“取消订阅”链接的电子邮件内容。但!这效率不高,PHP:s 手册不建议这样做:“邮件函数为每封电子邮件打开和关闭一个 SMTP 套接字,效率不高”。我注意到发送一封电子邮件大约需要 1 秒钟。 - 使用“密件抄送”将所有用户列为一封电子邮件中的收件人。这样效率更高,我只需要一次向所有用户发送一封电子邮件。但这意味着我不能包含每个用户唯一的“取消订阅”链接。
- 使用 Pear::Mail。这听起来很有趣......但是,对我来说这是不可能的,因为我的网站存在于网络托管服务上,并且我无法安装 Pear::Mail(或者我可以吗???)
这是我知道我可以使用的仅有的三种方法。但它们似乎对我来说都不够。还有其他解决方案可以看吗?还是我错过了什么?
【问题讨论】:
-
我真的建议研究其他现有的事务性电子邮件解决方案,如 Mandrill、Mailgun 等。如果您不想使用这些,我建议为电子邮件创建一个作业队列.
-
如果您使用共享主机,您的传出 SMTP 很可能配置了一些速率限制。在发送电子邮件之前,您不太可能找到配置的阈值,甚至不可能明确地检测到速率限制。如果 FUP 甚至允许这样做。您最好使用@Daan 的建议并使用事务性 API。