php如何检查邮件地址是否存在

php如何检查邮件地址是否存在

在做个东西 需要发送邮件 不知何如检查邮件地址是否存在 就是说人家添了邮件地址是正确的还是乱添的 要是真的存在这个邮箱的话就发不然就不发 有知道的说说想法

给你一个校验函数看看吧。

   public function emailCheck($mail_addr)
    {
        $esc = '\\\\'; $Period = '\.';
        $space = '\040';
        $OpenBR = '\['; $CloseBR = '\]';
        $NonASCII = '\x80-\xff'; $ctrl = '\000-\037';
        $CRlist = '\n\015';
        $qtext = "[^$esc$NonASCII$CRlist\"]";
        $dtext = "[^$esc$NonASCII$CRlist$OpenBR$CloseBR]";
        $quoted_pair = "${esc}[^$NonASCII]";
        $atom_char = "[^($space)<>\@,;:&\^'!#\$%\".$esc$OpenBR$CloseBR$ctrl$NonASCII]";
        $atom = "$atom_char+(?!$atom_char)";
        $quoted_str = "\"$qtext*(?:$quoted_pair$qtext*)*\"";
        $word = "(?:$atom|$quoted_str)";
        $domain_ref = $atom;
        $domain_lit = "$OpenBR(?:$dtext|$quoted_pair)*$CloseBR";
        $sub_domain = "(?:$domain_ref|$domain_lit)";
        $domain = "$sub_domain(?:$Period$sub_domain)+$";
        $local_part = "^$word(?:$Period$word)*";
        $addr_spec = "$local_part\@$domain";
        $mail_regex = $addr_spec;
        if (!preg_match("/$mail_regex/i",$mail_addr))
        {
            $ret = 0;
        }
        else
        {
            $ret = 1;
        }
        return $ret;
    }


注:页面中显示的笑脸是“冒号”。
程序人生,不断学习的人生!

禁用 smiles就没有笑脸了
毕业了。。。

一楼的朋友 你没有搞明白我的意思 不过还是谢谢你啦

回复 #4 grf110 的帖子

我明白楼主的意思了,呵呵。
程序人生,不断学习的人生!