我们的数据库中有一个很大的电子邮件地址列表,人们通过这些地址为我们的一个网站注册了时事通讯。
我们有一个 cron 作业,它使用 PHP 从数据库中获取电子邮件地址并发送新闻通讯。
当电子邮件被退回时,cron 作业管理员会收到一封有关它的电子邮件。
如果我们想要一个脚本自动从数据库中删除退回的电子邮件地址,最好的方法是什么?有没有办法记录退回的电子邮件,然后让脚本解析日志,然后删除错误的电子邮件地址?或者有没有办法通过 PHP 测试退回的电子邮件地址?
最佳答案
您要做的是选择一个“通用”退回电子邮件地址(例如,bounce@example.com)。您想将 header “Return-Path”设置为“bounce@example.com”。
然后,您有一个外部进程检查“bounce@example.com”收件箱中的消息。不要将此电子邮件帐户用于退回以外的任何用途。
您将在该收件箱中收到退回邮件、休假邮件和其他类型的电子邮件。您只需要训练您的解析器来寻找电子邮件中的特定模式。一开始您的模式列表并不全面,但您需要不时手动查看此收件箱,以便进一步训练您的解析器。
您的解析器可以很简单,可以查找简单的子字符串甚至正则表达式。在大多数情况下,不需要正则表达式。
关于php - 自动从数据库中删除退回的电子邮件地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10035225/