【问题标题】:Detect Spamtrap mail in my database在我的数据库中检测 Spamtrap 邮件
【发布时间】:2025-12-30 16:05:18
【问题描述】:

我想知道如何检查我的数据库(论坛)的电子邮件地址是否包含垃圾邮件陷阱。
我想首先检查域是否存在:

$domain = substr($email, strpos($email, '@') + 1);
if  (checkdnsrr($domain) !== FALSE) {
    echo 'Domain is valid!';
}

但我如何检查电子邮件帐户是否真的存在?

【问题讨论】:

    标签: php email spam


    【解决方案1】:

    没有办法以编程方式检查电子邮件地址是否存在绝对确定。您可以做出有根据的猜测。

    1) 探测:为目标域(DNS MX 记录)找到一个邮件交换器,打开一个 SMTP 连接并使用RCPT TO SMTP 命令探测地址,然后QUIT 不实际发送电子邮件。您收到的 RCPT TO 的 SMTP 响应代码将告诉您邮箱是否可用。这种方法的成功率相当高,但是如果域在接受的中继域中,但用户不存在,一些服务器会回复“哦,当然我非常喜欢那个收件人”。这是没有实际用户信息的备份电子邮件服务器的典型问题。

    2) VRFY:同上打开一个 SMTP 连接,然后使用 SMTP VRFY 命令检查用户是否存在。这很可能会失败,因为对 VRFY 的支持经常被禁用。

    【讨论】: