比如 :
[email protected]
[email protected]
[email protected]
我只知道 ldle@163, hai@fmmu 这前面部分,有没有什么办法可以知道后面部分正确域名?
谢谢各位大大!
[email protected]
[email protected]
[email protected]
我只知道 ldle@163, hai@fmmu 这前面部分,有没有什么办法可以知道后面部分正确域名?
谢谢各位大大!
然后再得到ping命令返回的结果信息。
根据ping的结果就可以知道@后面的域名地址是不是真的有效了。。 个人见解。。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;/**
* PingMailDomain.java
* @author jileniao.net
* 判断输入的邮件地址@后的域名是否正确
*/
public class PingMailDomain { private Boolean isMailDomailRight(String emailAdd) throws IOException {
String[] tmp = emailAdd.split("@");
// 简单校验邮件地址是否含有@号:非有效邮箱地址
if (!emailAdd.contains("@")) {
return false;
}
String domain = tmp[1];
String cmdString = "cmd /c ping " + domain;
Process prs = Runtime.getRuntime().exec(cmdString);
BufferedReader br = new BufferedReader(new InputStreamReader(prs.getInputStream())); String line = null;
StringBuffer sb = new StringBuffer();
// 得到ping结果信息
while ((line = br.readLine()) != null) {
sb.append(line);
} String result = sb.toString();
String[] temp = result.split("%");
String result1 = temp[0]; // ping结果loss为100%:非有效邮箱域名
if (result1.endsWith("100")) {
return false;
}
return true;
}
public static void main(String[] args) throws Exception {
System.out.println("Please input EmailAddress");
Scanner input = new Scanner(System.in);
// 获取键盘输入的邮件地址
String addressString = input.nextLine();
PingMailDomain pmd = new PingMailDomain();
if (pmd.isMailDomailRight(addressString)) {
System.out.println("OK");
} else {
System.out.println("NG");
}
}
}大体写了一下 仅供参考
那n 多组合,这个非得在已经知的情况下,我在网上找了一个
也是差不多.想知道邮件服务器地址的话,可以打开命令提示符
然后输入以下命令:
nslookup -qt=mx @后面的那部分结果中的 mail exchanger就是对方的邮件服务器 MX preference标识为权重