`
t330guol
  • 浏览: 12734 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java判断邮箱是否存在.有返回值

阅读更多
public static boolean checkEmail(String email) {
if (!email.matches("[\\w\\.\\-]+@([\\w\\-]+\\.)+[\\w\\-]+")) {
return false;
}
String log = "";
String host = "";
String hostName = email.split("@")[1];// 去掉@后面的
System.out.println("hostName:" + hostName);
Record[] result = null;
SMTPClient client = new SMTPClient();
try {
// 查找MX记录
Lookup lookup = new Lookup(hostName, Type.MX);
lookup.run();
if (lookup.getResult() != Lookup.SUCCESSFUL) {
System.out.println("找不到MX记录");
return false;
} else {
result = lookup.getAnswers();
for (int i = 0; i < result.length; i++) {
System.out
.println(result[i].getAdditionalName().toString());
System.out.println(result[i]);
}
}
// 连接到邮箱服务器
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 {
log += "邮箱mx记录" + hostName + "存在";
log += "成功连接到" + host;
break;
}
}
System.out.println(client.getReplyString());
client.login("163.com");
System.out.println(client.getReplyString());
client.setSender("634140729@qq.com");// 发件人
log += "=" + client.getReplyString();
client.addRecipient(email);
log += ">RCPT TO: <" + email + ">\n";
log += "=" + client.getReplyString();
if (250 == client.getReplyCode()) {
return true;
}
} catch (Exception e) {
e.printStackTrace();
LOG.error(e.getMessage());
} finally {
try {
client.disconnect();
} catch (IOException e) {
} // 打印日志
}
return false;
}



如果是250的话这个邮箱地址就存在,返回一个true.
不存在则返回false
分享到:
评论

相关推荐

    java类与数组个人作业.pdf

    - **“==”** 运算符用于判断两个对象是否引用同一个实例对象,即它们是否指向内存中的同一位置。 - **equals() 方法** 用于比较两个字符串中对应的每个字符是否相等,即内容是否相同。 - **案例分析** - **s1 ...

    Jsp中判断文本框是否为空

    // 判断邮箱是否为空 if (t4.value == "") { alert("邮箱不能为空"); t4.focus(); return false; } // 判断电话号码是否为空 if (t5.value == "") { alert("电话号码不能为空"); t5.focus(); return ...

    Java正则表达式_动力节点Java学院整理

    正则表达式是什么?用我的理解就是一个表达式。用来匹配,替换,判断字符串,之前业务就出现过判断返回值是否为邮箱。

    2021-2022计算机二级等级考试试题及答案No.10742.docx

    10. 小写字母判断:在C/C++或类似的编程语言中,用逻辑与(&&)判断字符c是否为小写字母,选项D正确。 11. 字节与计算机字长:4个字节代表32位,因为一个字节是8位,选项C正确。 12. 邮箱地址格式:正确的邮箱地址...

    java基础编码规范

    ### Java基础编码规范知识点 #### 概述 Java基础编码规范是针对Java开发人员制定的一套规则和标准,旨在提高代码质量、可读性和维护性。遵循这些规范可以帮助开发团队减少错误,提升软件产品的整体质量。 #### ...

    shark 开发文档 工作流 代码解释

    - **判断用户是否存在**:通过调用`shark.getAdminInterface().getUserGroupAdministration().doesUserExist(userName)`方法,可以检查指定的用户名`userName`是否存在于用户系统中。返回值True表示存在,False表示...

    邮箱验证(javascript中的正则表达式)

    ### 邮箱验证(Javascript中的正则表达式) 在Web开发中,表单验证是一项基本而重要的功能,它能够确保用户输入的数据符合预期的格式,从而提高用户体验并减少服务器端的压力。其中,电子邮件地址验证尤为关键,...

    if.rar_If...

    3. **三元运算符**:在某些语言中,如 C/C++/Java,可以用一行代码实现简单的条件判断。 4. **条件语句的最佳实践**:如何编写清晰、可读的条件判断,避免条件分支过多导致的代码复杂性增加。 5. **条件变量与布尔...

    Java 20160120练习

    - **D.** 未给出具体的代码,无法判断输出结果是否为 `false`。 **4、关于字符串长度的计算:** - **答案:** C。 - **解析:** - **A.** 在 Java 中,`String` 类的 `length` 方法计算的是字符的数量,无论是...

    2021-2022计算机二级等级考试试题及答案No.13638.docx

    14. 判断小写字母:在C语言中,判断字符c是否为小写字母的正确表达式是`(c &gt;= 'a') && (c )`,选项D。 15. 查询创建:可以基于数据库表和已建查询创建新的查询,选项C正确。 16. 无参无返回值方法:为了让AB类的...

    2021-2022计算机二级等级考试试题及答案No.11111.docx

    - 使用`Mod`运算符来判断是否能够整除,`And`表示两个条件都需要满足。 ### 7. HTML编码的使用 **题目**: 需要写入与HTML标记相同的文本时,应利用以下何种方法进行编码? **选项**: - A. Response.Server....

    2021-2022计算机二级等级考试试题及答案No.12975.docx

    7. 构造函数是类的一个特殊成员函数,用于初始化新创建的对象,它的返回类型通常是void,因此“构造函数的返回值类型为”是错误的。 8. 在Excel2003中,使用`Ctrl+F`可以打开查找和替换对话框。 9. 选择不连续的多...

    2021-2022计算机二级等级考试试题及答案No.13345.docx

    选项C中的`hasPrevious()`方法属于`ListIterator`接口,用于向前遍历时判断是否有前一个元素。因此,正确答案是**D**,即`hasNext()`方法。 #### 2. C语言函数与运算符优先级 - **知识点**: 函数`f1`和`f2`分别...

    2021-2022计算机二级等级考试试题及答案No.3365.docx

    2. 表达式求值:在编程中,表达式如果没有明确的返回值,通常会根据上下文判断其真假,这里没有给出具体表达式,无法确定其结果。 3. ASP.NET 验证控件:`RequiredFieldValidator`、`CompareValidator`和`...

    2021-2022计算机二级等级考试试题及答案No.11067.docx

    题目描述不完整,无法判断正确答案,但从上下文推断,备注字段通常不存储在备注文件中,而是与其他字段一同存储在表中。 #### 题目12:文件上传HTTP方法 - **题目背景**:在Web开发中,上传文件时应使用的HTTP请求...

    scala学习文档

    每个Actor都有自己的邮箱,接收并处理消息,确保了线程安全。Actor模型简化了并发编程,减少了死锁和竞态条件的风险。 03.Scala高级特性.docx: 这部分内容可能涉及了Scala的更复杂特性和高级用法,比如类型推断、...

Global site tag (gtag.js) - Google Analytics