您的位置:首页 > 编程语言

实现邮箱验证功能的代码

2017-01-25 11:22 483 查看
package com.maxtech.util;

import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;

public class MyEmailAutherticator extends Authenticator {

//用户名(登录邮箱)
private String username;

//密码
private String password;

public MyEmailAutherticator() {
super();
}

//初始化邮箱和密码
public MyEmailAutherticator(String username, String password) {
this.username = username;
this.password = password;
}

//用作登录校验,以确保对该邮箱有发送邮件的权利
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}

//set and get method
public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}
}

/////////////////////////////////////////////////////////////////////////////////////

package com.maxtech.util;

import java.util.Date;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.SendFailedException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class Mail {

//发送邮件的帐号和密码
private String username="xxxxx@qq.com";

private String password="xxxxx";

//    private String host = "smtp.qq.com";
private String host = "mail.qq.com";

private String mail_head_name = "this is head of this mail";

private String mail_head_value = "this is head of this mail";

private String mail_to ;

public String getMail_to() {
return mail_to;
}

public void setMail_to(String mail_to) {
this.mail_to = mail_to;
}

private String mail_from = "xx@qq.com";

private String mail_subject = "xxxxxxxxx";

private String mail_body ;

public String getMail_body() {
return mail_body;
}

public void setMail_body(String mail_body) {
this.mail_body = mail_body;
}

private String personalName = "xxxxxx";

public void sendMail() throws SendFailedException{
try {
//发送邮件的props文件
Properties props = new Properties();
// 初始化props
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
System.out.println(props);

//进行邮件服务用户认证
Authenticator auth = new MyEmailAutherticator(username,password);

// 创建session,和邮件服务器进行通讯
Session session = Session.getDefaultInstance(props,auth);

// 创建mime类型邮件
MimeMessage message = new MimeMessage(session);
//设置邮件格式,这里决定发送的内容换行是用文本(win下\r\n   linux下\n    osx下\r)还是br
//我们最好选择用邮件格式,因为text格式不同的平台换行符不一样()
message.setContent(mail_body,"text/html;charset=utf-8");
//设置文本格式
//message.setText(mail_body);
// 设置主题
message.setSubject(mail_subject);

//设置邮件标题
message.setHeader(mail_head_name, mail_head_value);
//设置邮件发送时期
message.setSentDate(new Date());
Address address = new InternetAddress(mail_from,personalName);
//设置邮件发送者的地址
message.setFrom(address);

//======单发邮件======
//设置邮件接收者的地址
Address toaddress = new InternetAddress(mail_to);
// 设置收件人
message.addRecipient(Message.RecipientType.TO,toaddress);

//======群发邮件======
//            List recipients = new ArrayList();
//            recipients.add("123456789@qq.com");
//            recipients.add("234567890@gmail.com");
//            final int num = recipients.size();
//            InternetAddress[] addresses = new InternetAddress[num];
//            for (int i = 0; i < num; i++) {
//                addresses[i] = new InternetAddress(recipients.get(i));
//            }
//            message.setRecipients(Message.RecipientType.TO, addresses);

System.out.println(message);
// 发送邮件
Transport.send(message);
System.out.println("Send Mail Ok!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  邮箱