是否应使用使用DNS/MX记录的电子邮件验证?

Ale*_*x L 2 php forms email validation

我注意到大多数用于电子邮件验证的脚本都不使用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;
Run Code Online (Sandbox Code Playgroud)

Pau*_*ott 6

大多数网站,尤其是保留登录信息的网站,会在您注册后发送确认电子邮件.这不仅确认电子邮件地址有效,还确认电子邮件地址属于提交者.进行DNS查找将是多余的,除非您想向用户提示他们拼错了他们的电子邮件地址.

如果我想放一个假的电子邮件地址,aaa@aaa.com(AAA,汽车俱乐部)和somebody@example.com(与RFC 2606)将都通.我认为DNS查找不会像您想象的那样捕获尽可能多的虚假地址.

  • +1.电子邮件规范很复杂.验证电子邮件地址的最佳方法是向其发送电子邮件. (4认同)