【发布时间】:2010-11-09 00:04:16
【问题描述】:
我正在构建一个用于发送时事通讯的 symfony 模块。这个想法是建立一个 adreese 的队列列表来接收邮件,然后通过一个 cron 作业,一次发送 50 个。
我现在不怎么做的是阅读当电子邮件地址不存在或邮件已满时服务器发回的邮件传递报告。想法是将这些错误报告存储在一个干净的地址列表中。
你知道如何实现吗?
【问题讨论】:
标签: php email newsletter
我正在构建一个用于发送时事通讯的 symfony 模块。这个想法是建立一个 adreese 的队列列表来接收邮件,然后通过一个 cron 作业,一次发送 50 个。
我现在不怎么做的是阅读当电子邮件地址不存在或邮件已满时服务器发回的邮件传递报告。想法是将这些错误报告存储在一个干净的地址列表中。
你知道如何实现吗?
【问题讨论】:
标签: php email newsletter
您可以在发送时使用reply to 地址。因此,绑定的电子邮件将发送到此 ID。您还可以创建另一个 PHP 脚本,该脚本将 read this "reply to" email inbox 并从中获取 id。然后,您可以从您拥有的列表中删除此 ID。
【讨论】:
在阅读“退回的收件箱”时,您可以使用这样的类来实际解析邮件并查看返回的状态(例如永久或临时错误):
http://www.phpclasses.org/browse/package/2691.html
要真正准确地解析邮件会给您带来困难,因为并非所有邮件服务器都是相似的,有些会向您发送带有“永久”标志的“邮箱已满”错误,而其他人可能会告诉您错误“用户不存在”是“临时的”。
我曾经为此尝试过一个解决方案,并最终设置了我自己的解析器,该解析器连接到一个巨大的数据库,其中包含可能的服务器回复(以及它们的“真实”含义:)。
【讨论】: