电子邮件验证java代码 电子邮件的验证码

以下是我编写的JAVA验证邮箱可用性的代码

for(int i=1;i=a.length();i++)

成都创新互联公司专注于霍林郭勒企业网站建设,成都响应式网站建设公司,商城网站建设。霍林郭勒网站建设公司,为霍林郭勒等地区提供建站服务。全流程按需求定制开发,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务

{

d=a.substring(i-1,i);

if(d.equals("@."))

{

return false;

}

}

这个循环判定完是有@.返回false不对的,用判定"@."是否存在好一些

if(!a.contains("@."))

{

return false;

}

如何用java检验电子邮箱格式的合法性?要用到String的方法来判断

自己写逻辑验证的方式可以做到。我写了下面的:

public static boolean validateEmail(String email) {

boolean flag = false;

int pos = email.indexOf("@");

if (pos == -1 || pos == 0 || pos == email.length() - 1) {

return false;

}

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

if (strings.length != 2) {// 如果邮箱不是xxx@xxx格式

return false;

}

CharSequence cs = strings[0];

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

char c = cs.charAt(i);

if (!Character.isLetter(c) !Character.isDigit(c)) {

return false;

}

}

pos = strings[1].indexOf(".");// 如果@后面没有.,则是错误的邮箱。

if (pos == -1 || pos == 0 || pos == email.length() - 1) {

return false;

}

strings = strings[1].split(".");

for (int j = 0; j strings.length; j++) {

cs = strings[j];

if (cs.length() == 0) {

return false;

}

for (int i = 0; i cs.length(); i++) {//如果保护不规则的字符,表示错误

char c = cs.charAt(i);

if (!Character.isLetter(c) !Character.isDigit(c)) {

return false;

}

}

}

return true;

}

这个效率也不会差很多,不过我推荐matches方法,经过测试的,matches匹配方式运行10000次的时间比上面的时间少了20毫秒。

JAVA发送邮件验证异常

我把我写的给你看看吧

import java.util.*;

import javax.mail.internet.*;

import javax.mail.*;

/**

*

* pCopyright: Copyright (c) 2007/p

*

* pCompany: xjtu /p

*

* @author cy

* @version 1.0

*/

public class Mail {

/*

* 参数 to 接收者邮箱地址

* title 主题

* content 内容

*/

public static boolean sendMail(String to,String title,String content){

try{

//接收邮件信息

String to_mail=to;

String to_title=title;

String to_content=content;

//建立邮件会话

Properties props=new Properties();//也可用Properties props = System.getProperties();

props.put("mail.smtp.host","163.com ");//存储发送邮件服务器的信息

props.put("mail.smtp.auth","true");//同时通过验证

Session s=Session.getInstance(props);//根据属性新建一个邮件会话

s.setDebug(true);

//由邮件会话新建一个消息对象

MimeMessage message=new MimeMessage(s);//由邮件会话新建一个消息对象

//设置邮件

InternetAddress from=new InternetAddress("javachengxudaima@163.com ");

message.setFrom(from);//设置发件人

InternetAddress toWhere=new InternetAddress(to_mail);

message.setRecipient(Message.RecipientType.TO,toWhere);//设置收件人,并设置其接收类型为TO

message.setSubject(to_title);//设置主题

message.setText(to_content);//设置信件内容

message.setSentDate(new Date());//设置发信时间

//发送邮件

message.saveChanges();//存储邮件信息

Transport transport=s.getTransport("smtp");

//以smtp方式登录邮箱,第一个参数是发送邮件用的邮件服务器SMTP地址,第二个参数为用户名,第三个参数为密码

transport.connect("163.com","javachengxudaima@163.com ","87w92ab@");

transport.sendMessage(message,message.getAllRecipients());//发送邮件,其中第二个参数是所有已设好的收件人地址

transport.close();

return true;

}catch(MessagingException e){

System.err.println("发送失败!");

return false;

}

}

public static void main(String[] args) {

for(int i=1;i=1000;i++){

boolean isSuccess = Mail.sendMail("这里输入待发送的邮件地址", "这是主题", "这是内容");

if(isSuccess)System.err.println("已发送了"+i+"封邮件!");

else break;

}

System.out.println("发送完成!");

}

}

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代码 电子邮件的验证码
转载来于:http://hbruida.cn/article/hjisde.html