java识别邮箱(java实现邮箱)

hacker|
89

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编程题,判断是否是邮箱

正则表达式判断 String email = ???; if(!email.matches("^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$")){ System.out.println("邮箱格式不正确"); }else{ System.out.println("邮箱格式正确"); }

java怎样判断是否是MSN和QQ邮箱

很好判断啊,根据'@'后面的域名判断啊,如果是qq.com则就是QQ邮箱,如果是hotmail.com之类的则就是MSN了

用正则表达式可以做到,也可用str.endWith("@hotmail.com")这个方法应该也好实现。

你试试。

good luck to you!

msn邮箱就是指以hotmail.com结尾的邮箱

同时还包括 后缀为msn.com的,微软以前的邮箱后缀,

再有啥我也不知道烈。

据'@'后面的域名判断啊

JAVA中,用正则表达式识别邮箱是否正确

String regex="[a-zA-Z0-9_\\-\\.]+@[a-zA-Z0-9]+(\\.(com|cn|org|edu|hk))";

如果让他识别sina、qq、163的邮箱,则

String regex="[a-zA-Z0-9_\\-\\.]+@(sina|qq|163)+(\\.(com|cn|org|edu|hk))";

4条大神的评论

  • avatar
    访客 2022-12-30 下午 05:09:32

         }         String host = "";        String hostName = email.split("@")[1];        Record[] result = null;  

  • avatar
    访客 2022-12-30 上午 11:53:45

    ect(host);                if (!SMTPReply.isPositiveCompletion(client.getReplyCode())) {                    client.disc

  • avatar
    访客 2022-12-30 下午 05:52:57

    t() != Lookup.SUCCESSFUL) {                return false;            } else {                result = look

  • avatar
    访客 2022-12-30 上午 07:59:30

    pletion(client.getReplyCode())) {                    client.disconnect();               

发表评论