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

如何通过PHP知道电子邮件地址是否存在?

  •  3
  • xRobot  · 技术社区  · 14 年前

    但是有些电子邮件地址不存在。

    当我向这些电子邮件地址发送电子邮件时,如何知道这些电子邮件地址是否有效?

    4 回复  |  直到 14 年前
        1
  •  8
  •   casablanca    14 年前

    向他们发送带有链接的确认邮件,并仅在他们单击该链接时激活订阅。

        2
  •  2
  •   Community CDub    7 年前

    据我所知,你不能。当你不能发送电子邮件时,你会知道电子邮件是无效的,无论是因为域不存在还是因为帐户不存在于该域上。

    如果你想确保只有真实的账户用于订阅,发送一封确认电子邮件,用户点击链接来验证他的账户(就像卡萨布兰卡所说的 here

        3
  •  2
  •   icanhasserver    14 年前

    你永远无法百分之百确定提供的电子邮件地址是否真的存在。

    一种方法是使用SMTP VRFY 指示目标邮件中继确认收件人的命令。但许多服务器不提供此功能。它还需要直接的SMTP通信来进行检查。

    您可以实现以下命令(或使用许多为您执行此操作的PHP scriplets之一):

    HELO <your server name>
    MAIL FROM: <>
    RCPT TO: <destination@to.check>
    QUIT
    
        4
  •  1
  •   Yeroon    14 年前

    您可以使用以下命令执行MX记录查找:

    $result = getmxrr($hostname, $mxHosts);
    if(count($mxHosts) < 1){
       //no MX records found
    }
    

    http://www.php.net/manual/en/function.getmxrr.php