我注意到大多数用于电子邮件验证的脚本不使用 DNS 信息来确保给定域确实存在。
人们可能不使用 DNS 检查的原因是什么?
它是否真的减少了虚假电子邮件的数量或使表单更有用?
示例片段:
$host = explode('@', $email);
if(checkdnsrr($host[1].'.', 'MX') ) return true;
if(checkdnsrr($host[1].'.', 'A') ) return true;
if(checkdnsrr($host[1].'.', 'CNAME') ) return true;
最佳答案
大多数网站,尤其是保留登录信息的网站,都会在您注册后发送确认电子邮件。这不仅确认电子邮件地址有效,而且确认电子邮件地址属于提交者。进行 DNS 查找是多余的,除非您想提醒用户他们拼错了电子邮件地址。
如果我想输入一个假的电子邮件地址,aaa@aaa.com(AAA,汽车俱乐部)和 somebody@example.com(来自 RFC 2606)都可以通过。我认为 DNS 查找不会像您想象的那样捕获那么多假地址。
关于php - 是否应使用使用 DNS/MX 记录的电子邮件验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1112163/