package com.test.util;
import java.util.Date;
import java.util.Properties;
import java.util.Random;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class Email {
// mail server
/** 发送方邮箱协议 */
private String host = "smtp.ym.163.com";
// 发送方账号
private String username = "tttttt@163.com";
// 发送方密码
private String password = "11111";
// private String mail_head_name ="请点击激活";
// private String mail_head_value = "Head of mail";
/**
*
*/
private String mail_from = "pp";
/***
* 接收方邮箱
*/
private String mail_to="111111111@qq.cm";
private String mail_subject = "激活邮箱:"+mail_to;//多次发送给同一个接收方切标题不更换的话会被接受放服务器退回,发送失败
private String personalName = "管理员";
public Email() {
}
public void send() throws Exception {
try {
Properties props = new Properties(); // 获取系统环境
Authenticator auth = new Email_Autherticator(); // 认证
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props, auth);
// 设置session,和邮件服务器进行通讯。
MimeMessage message = new MimeMessage(session);
//设置消息主题
message.setSubject(mail_subject);
String sf = ("http://weixin.showsoft.hk/ubb/client/validateEmail?email="+mail_to);
System.out.println("发送至邮箱:" + mail_to);
// 发送邮件
String content = new String(sf.toString().getBytes("ISO-8859-1"),"UTF-8");
//设置发送内容
message.setText("请点击激活:"+content+"\t 激活账号,24小时生效,否则重新验证,请尽快激活!"); // 设置邮件正文
message.setSentDate(new Date()); // 设置邮件发送日期
/**
* 构造方法
* InternetAddress(String address, String personal)
* Construct an InternetAddress given the address and personal name.
*/
Address address = new InternetAddress(username, personalName);
message.setFrom(address); // 设置邮件发送者的地址
Address toAddress = new InternetAddress(mail_to); // 设置邮件接收方的地址
/**
* setRecipient(Message.RecipientType type, Address address),用于设置邮件的接收者。
* 有两个参数,第一个参数是接收者的类型,第二个参数是接收者。
* 接收者类型可以是Message.RecipientType.TO,Message.RecipientType.CC和Message.RecipientType.BCC,TO表示主要接收人,CC表示抄送人,BCC表示秘密抄送人。
* 接收者与发送者一样,通常使用InternetAddress的对象。
* addRecipient(Message.RecipientType type, Address address),用于添加邮件的接收者,其参数与setRecipient方法的基本相同。
*/
message.addRecipient(Message.RecipientType.TO, toAddress);
Transport.send(message); // 发送邮件
System.out.println("发送成功!!!");
} catch (Exception ex) {
ex.printStackTrace();
throw new Exception(ex.getMessage());
}
}
/*
* 用来进行服务器对用户的认证
*/
public class Email_Autherticator extends Authenticator {
public Email_Autherticator() {
super();
}
public Email_Autherticator(String user, String pwd) {
super();
username = user;
password = pwd;
}
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
}
public String getMail_to() {
return mail_to;
}
public void setMail_to(String mail_to) {
this.mail_to = mail_to;
}
public static void main(String[] args) {
Email sendmail = new Email();
try {
sendmail.send();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
import java.util.Date;
import java.util.Properties;
import java.util.Random;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class Email {
// mail server
/** 发送方邮箱协议 */
private String host = "smtp.ym.163.com";
// 发送方账号
private String username = "tttttt@163.com";
// 发送方密码
private String password = "11111";
// private String mail_head_name ="请点击激活";
// private String mail_head_value = "Head of mail";
/**
*
*/
private String mail_from = "pp";
/***
* 接收方邮箱
*/
private String mail_to="111111111@qq.cm";
private String mail_subject = "激活邮箱:"+mail_to;//多次发送给同一个接收方切标题不更换的话会被接受放服务器退回,发送失败
private String personalName = "管理员";
public Email() {
}
public void send() throws Exception {
try {
Properties props = new Properties(); // 获取系统环境
Authenticator auth = new Email_Autherticator(); // 认证
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props, auth);
// 设置session,和邮件服务器进行通讯。
MimeMessage message = new MimeMessage(session);
//设置消息主题
message.setSubject(mail_subject);
String sf = ("http://weixin.showsoft.hk/ubb/client/validateEmail?email="+mail_to);
System.out.println("发送至邮箱:" + mail_to);
// 发送邮件
String content = new String(sf.toString().getBytes("ISO-8859-1"),"UTF-8");
//设置发送内容
message.setText("请点击激活:"+content+"\t 激活账号,24小时生效,否则重新验证,请尽快激活!"); // 设置邮件正文
message.setSentDate(new Date()); // 设置邮件发送日期
/**
* 构造方法
* InternetAddress(String address, String personal)
* Construct an InternetAddress given the address and personal name.
*/
Address address = new InternetAddress(username, personalName);
message.setFrom(address); // 设置邮件发送者的地址
Address toAddress = new InternetAddress(mail_to); // 设置邮件接收方的地址
/**
* setRecipient(Message.RecipientType type, Address address),用于设置邮件的接收者。
* 有两个参数,第一个参数是接收者的类型,第二个参数是接收者。
* 接收者类型可以是Message.RecipientType.TO,Message.RecipientType.CC和Message.RecipientType.BCC,TO表示主要接收人,CC表示抄送人,BCC表示秘密抄送人。
* 接收者与发送者一样,通常使用InternetAddress的对象。
* addRecipient(Message.RecipientType type, Address address),用于添加邮件的接收者,其参数与setRecipient方法的基本相同。
*/
message.addRecipient(Message.RecipientType.TO, toAddress);
Transport.send(message); // 发送邮件
System.out.println("发送成功!!!");
} catch (Exception ex) {
ex.printStackTrace();
throw new Exception(ex.getMessage());
}
}
/*
* 用来进行服务器对用户的认证
*/
public class Email_Autherticator extends Authenticator {
public Email_Autherticator() {
super();
}
public Email_Autherticator(String user, String pwd) {
super();
username = user;
password = pwd;
}
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
}
public String getMail_to() {
return mail_to;
}
public void setMail_to(String mail_to) {
this.mail_to = mail_to;
}
public static void main(String[] args) {
Email sendmail = new Email();
try {
sendmail.send();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}