php - 自动从数据库中删除退回的电子邮件地址?

标签 php mysql linux apache email

我们的数据库中有一个很大的电子邮件地址列表,人们通过这些地址为我们的一个网站注册了时事通讯。

我们有一个 cron 作业,它使用 PHP 从数据库中获取电子邮件地址并发送新闻通讯。

当电子邮件被退回时,cron 作业管理员会收到一封有关它的电子邮件。

如果我们想要一个脚本自动从数据库中删除退回的电子邮件地址,最好的方法是什么?有没有办法记录退回的电子邮件,然后让脚本解析日志,然后删除错误的电子邮件地址?或者有没有办法通过 PHP 测试退回的电子邮件地址?

最佳答案

您要做的是选择一个“通用”退回电子邮件地址(例如,bounce@example.com)。您想将 header “Return-Path”设置为“bounce@example.com”。

然后,您有一个外部进程检查“bounce@example.com”收件箱中的消息。不要将此电子邮件帐户用于退回以外的任何用途。

您将在该收件箱中收到退回邮件、休假邮件和其他类型的电子邮件。您只需要训练您的解析器来寻找电子邮件中的特定模式。一开始您的模式列表并不全面,但您需要不时手动查看此收件箱,以便进一步训练您的解析器。

您的解析器可以很简单,可以查找简单的子字符串甚至正则表达式。在大多数情况下,不需要正则表达式。

关于php - 自动从数据库中删除退回的电子邮件地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10035225/

相关文章:

php - oci_bind_by_name RETURNING INTO 截断值

php - 在第 77 行 C : syntax error, php 中解析错误 :\wamp\www\Nu-Bio\view_topic. 意外 T_RETURN

php - MySQL 选择不在另一个表中的 ID

mysql 嵌套查询不适用于 AND 条件

python - 如何在不在命令行指定的情况下专门运行python2.7?

C++ 错误 : undefined reference to 'clock_gettime' and 'clock_settime'

javascript - 仅序列化更改的表单元素时如何处理空数组

php - 在php中按SQL查询分组

php - Laravel - 意外的 ':' 期待 '('

linux - 如何在 linux 的 discord.py 中创建重启命令?即使它需要其他文件,如 shell 之类的