在我的数据库中检测垃圾邮件
Detect Spamtrap mail in my database
我想知道如何检查我的数据库(论坛)的电子邮件地址是否包含垃圾邮件陷阱。
我想首先检查域是否存在:
$domain = substr($email, strpos($email, '@') + 1);
if (checkdnsrr($domain) !== FALSE) {
echo 'Domain is valid!';
}
但是我如何检查电子邮件帐户是否真的存在?
无法以编程方式检查电子邮件地址是否存在绝对确定。你可以做出有根据的猜测,通过。
1) 探测:找到目标域的邮件交换器(DNS MX 记录),打开 SMTP 连接并使用 RCPT TO
SMTP 命令探测地址,然后 QUIT
而不是实际发送电子邮件。您收到的 RCPT TO SMTP 响应代码将告诉您邮箱是否可用。这种方法成功率很高,但是如果域名在接受的中继域中,但是用户不存在,有些服务器会响应"Oh sure I like that recipient a lot"。这是没有实际用户信息的备份电子邮件服务器的典型问题。
2) VRFY:同上打开一个SMTP连接,然后使用SMTPVRFY
命令检查用户是否存在。这很可能会失败,因为对 VRFY 的支持经常被禁用。
我想知道如何检查我的数据库(论坛)的电子邮件地址是否包含垃圾邮件陷阱。
我想首先检查域是否存在:
$domain = substr($email, strpos($email, '@') + 1);
if (checkdnsrr($domain) !== FALSE) {
echo 'Domain is valid!';
}
但是我如何检查电子邮件帐户是否真的存在?
无法以编程方式检查电子邮件地址是否存在绝对确定。你可以做出有根据的猜测,通过。
1) 探测:找到目标域的邮件交换器(DNS MX 记录),打开 SMTP 连接并使用 RCPT TO
SMTP 命令探测地址,然后 QUIT
而不是实际发送电子邮件。您收到的 RCPT TO SMTP 响应代码将告诉您邮箱是否可用。这种方法成功率很高,但是如果域名在接受的中继域中,但是用户不存在,有些服务器会响应"Oh sure I like that recipient a lot"。这是没有实际用户信息的备份电子邮件服务器的典型问题。
2) VRFY:同上打开一个SMTP连接,然后使用SMTPVRFY
命令检查用户是否存在。这很可能会失败,因为对 VRFY 的支持经常被禁用。