TEL:400-8793-956
当前位置:程序、服务器

无效的电子邮件DNS

提问者: 近期获赞: 浏览人数: 发布时间:2020-12-17 12:12:42

 问:我正在使用以下代码来验证电子邮件地址是否具有有效的DNS(否则,我们认为该电子邮件无效)。

 
    $domain = substr($email, strrpos($email, '@') + 1);
    $isValid = checkdnsrr($domain, 'MX') || checkdnsrr($domain, 'A');
但是,今天它只是将几乎所有@ gmail.com和@ yahoo.com电子邮件标记为无效。显然,gmail.com和yahoo.com域是有效的。
 
为什么对于无效电子邮件会有如此多的误报?我该怎么做才能更准确?
 
 
答:据我所知,没有一种自动的方法可以在不发送带有激活链接的电子邮件(或回传电子邮件已打开的旧图像像素)的情况下验证电子邮件地址。这是我多年来尝试过很多方法的一个问题,有时会遇到一些“陷阱”,直到几个月后才意识到我还没有。
 
当然,正则表达式验证是第一步,对电子邮件地址的域执行ping操作以查看您是否可以获得任何东西,而checkdnsrr则不是那么多,因为不是每个服务器都以这种查询方式来回复信息。
 
有几种库和类试图减少不确定性(我想过smtp电子邮件验证),但是即使它们做了承诺的事情-减少了不确定性-您仍然不能依靠它们来创建验证过程。 
 
(顺便说一下,出于我完全同意的原因gmail ...将daniwebmail.com标记为垃圾邮件(我不同意这是垃圾邮件,但我同意被标记为垃圾邮件的原因))
上一篇: PHP MySQL选择和更新
下一篇: 为什么我的页面不显示查询中返回的日期?