如何验证邮箱域名是否真实存在

产品需求

判断用户输入的邮箱地址其域名是否真实存在,比如[email protected]邮箱域名163.com 是否是一个真实存在的邮箱域名。

实现方案

可以通过DNS域名系统查询mx交互记录,引入 maven:



    dnsjava
    dnsjava
    2.1.8

代码示例:

package com.yzy.test;

import org.xbill.DNS.Lookup;
import org.xbill.DNS.Record;
import org.xbill.DNS.Type;

public class DNSTest {

    public static void main(String[] args) throws Exception {
        Lookup lookup = new Lookup("163.com", Type.MX);
        lookup.run();
        if (lookup.getResult() != Lookup.SUCCESSFUL) {
            System.err.println("ERROR: " + lookup.getErrorString());
            return;
        }
        Record[] answers = lookup.getAnswers();
        for (Record rec : answers) {
            System.out.println(rec.toString());
        }
    }
}

控制台输出:

163.com.        316 IN  MX  10 163mx02.mxmail.netease.com.
163.com.        316 IN  MX  10 163mx03.mxmail.netease.com.
163.com.        316 IN  MX  50 163mx00.mxmail.netease.com.
163.com.        316 IN  MX  10 163mx01.mxmail.netease.com.

说明163.com 是真实可用的邮箱域名

你可能感兴趣的:(如何验证邮箱域名是否真实存在)