代码之家  ›  专栏  ›  技术社区  ›  Paul

电子邮件验证MX查找

  •  9
  • Paul  · 技术社区  · 15 年前

    有人知道这样做有什么潜在的问题吗?mx查找是确定域是否接受电子邮件的可靠方法吗?是否存在有效电子邮件地址可能无法通过MX查找检查的边缘情况?

    谢谢你的建议!

    2 回复  |  直到 15 年前
        1
  •  7
  •   bobince    15 年前

    是否存在有效电子邮件地址可能无法通过MX查找检查的边缘情况?

    是的,在没有MX记录的情况下,MTA会转而使用A记录。因此,只允许MX记录将使在现实世界中工作的一类邮件服务器失败。

        2
  •  2
  •   jitter    15 年前

    您只能检查是否有为域注册的邮件服务器。

    关于如何在PHP中执行此操作的示例

    function mailserver_exists($email) {
     list($user,$domain) = split('@',$email);
     //included check for 'A' after [comment from bobince][1]
     return checkdnsrr($domain,'MX') || checkdnsrr($domain,'A');
    }
    if(domain_exists('joe@foreigndomain.xx')) {...} else {...}
    

    'TinyTim@192.184.165.13' 也是。的PHP文档 checkdnsrr(host, type)

    虚线四元表示法或主机名