java验证邮箱是否存在(java判断邮箱格式)

hacker|
112

java如何验证一个email地址是否真实有效。

首先使用java提供的格式类判断email是否格式有误,然后使用开源框架,验证邮箱是否有用,示例如下:

public static boolean checkEmail(String email) {

        if (!email.matches("[\\w\\.\\-]+@([\\w\\-]+\\.)+[\\w\\-]+")) {

            return false;

        String host = "";

        String hostName = email.split("@")[1];

        Record[] result = null;

        SMTPClient client = new SMTPClient();

        try {

            // 查找MX记录

            Lookup lookup = new Lookup(hostName, Type.MX);

            lookup.run();

            if (lookup.getResult() != Lookup.SUCCESSFUL) {

                return false;

            } else {

                result = lookup.getAnswers();

            // 连接到邮箱服务器

            for (int i = 0; i  result.length; i++) {

                host = result[i].getAdditionalName().toString();

                client.connect(host);

                if (!SMTPReply.isPositiveCompletion(client.getReplyCode())) {

                    client.disconnect();

                    continue;

                } else {

                    break;

            //以下2项自己填写快速的,有效的邮箱

            client.login("163.com");

            client.setSender("sxgkwei@163.com");

            client.addRecipient(email);

            if (250 == client.getReplyCode()) {

                return true;

        } catch (Exception e) {

            e.printStackTrace();

        } finally {

            try {

                client.disconnect();

            } catch (IOException e) {

        return false;

需要的jar支持:commons-net-2.2.jar,dnsjava-2.1.1.jar

用JAVA程序验证发邮件的时候收件人的帐号是否存在?

"verifiy"是核实的意思。

如果核实邮箱地址状态是正常的,会返回“OK”的结果

如果返回的结果是“Bad”,那么这个邮件地址就是不存在的。

方法很简单:打开上面的那个网址,在Verify旁边的文本框内输入你要验证的邮箱地址,然后按Verify按钮,开始验证即可

java 判断email 是否存在

检测是不是合法的地址跟检测它是不是存在是两码事。是不是合法是由电子邮件是否符合email协议中定义的格式;是不是存在,是在合法的基础上看这个email是否已被注册。一般情况下看是否合法是比较常用的,其中用正则确实是比较公用的方法。而是否存在,这要分两种情况,1 对于该服务器来说,这个邮箱是否存在,这比较简单,就是查一下数据库中是否有相应的邮箱数据罢了,这可以用来检测该用户名是否在该server下注册了邮箱;另一种就是你说的我现在要发某一封邮件去一个邮箱,发之前我想确认一下该邮箱是否存在,这个就比较麻烦了,而且一般是作不到的,因为邮件server完全可以不提供相应的api给你,所以你也可以看到一般邮箱的认证就是发一封邮件到你邮箱里,让你自己登录去点某个链接去认证,所以你还是死心了吧。

2条大神的评论

  • avatar
    访客 2022-09-21 下午 10:16:02

     = 0; i  result.length; i++) {                host = result[i].getAdditionalName().toString();                client.connect(host);          

  • avatar
    访客 2022-09-22 上午 04:33:21

    java如何验证一个email地址是否真实有效。 首先使用java提供的格式类判断email是否格式有误,然后使用开源框架,验证邮箱是否有用,示例如下:public static boolean checkEmail(String email) {       

发表评论