共有5个类 一个测试类 1个配置文件
Class Au
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
import javax.mail.PasswordAuthentication;
public class Au extends Authenticator{
JavaMailConfig jmd=null;
public Au(JavaMailConfig jmd) {
super();
this.jmd = jmd;
}
JavaMailConfig jmd=null;
public Au(JavaMailConfig jmd) {
super();
this.jmd = jmd;
}
@Override
protected PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(jmd.getUsername(), jmd.getPassword());
}
protected PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(jmd.getUsername(), jmd.getPassword());
}
}
class JavaMailConfig
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import java.io.InputStream;
import java.util.Properties;
public class JavaMailConfig {
static InputStream is=JavaMailConfig.class.getClassLoader().getResourceAsStream("javamail.properties");
static Properties pp=new Properties();
private String username;
private String password;
private String maifrom;
private String host;
static InputStream is=JavaMailConfig.class.getClassLoader().getResourceAsStream("javamail.properties");
static Properties pp=new Properties();
private String username;
private String password;
private String maifrom;
private String host;
public String getUsername() {
return username;
}
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Properties getProperties(){
try {
pp.load(is);
username= (String) pp.get("username");
password=(String)pp.getProperty("password");
maifrom=(String)pp.getProperty("maifrom");
host=pp.getProperty("host");
pp.setProperty("mail.host", "smtp."+host+".com");
pp.setProperty("mail.smtp.auth", "true");
} catch (IOException e) {
System.out.println("properties文件不存在");
e.printStackTrace();
}
return pp;
}
public String getMaifrom() {
return maifrom;
}
public void setMaifrom(String maifrom) {
this.maifrom = maifrom;
}
}
Class javaMailVO
public class JavaMailVO {
private String[] FCCRecipients;
private String[] BCCRecipients;
private String subject;
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
private String content;
public String[] getFCCRecipients() {
return FCCRecipients;
}
public void setFCCRecipients(String[] fCCRecipients) {
FCCRecipients = fCCRecipients;
}
public String[] getBCCRecipients() {
return BCCRecipients;
}
public void setBCCRecipients(String[] bCCRecipients) {
BCCRecipients = bCCRecipients;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
private String[] FCCRecipients;
private String[] BCCRecipients;
private String subject;
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
private String content;
public String[] getFCCRecipients() {
return FCCRecipients;
}
public void setFCCRecipients(String[] fCCRecipients) {
FCCRecipients = fCCRecipients;
}
public String[] getBCCRecipients() {
return BCCRecipients;
}
public void setBCCRecipients(String[] bCCRecipients) {
BCCRecipients = bCCRecipients;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
Class javaMailUtil
import java.util.Properties;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
public class JavaMailUtil {
static JavaMailConfig jmd=new JavaMailConfig();
public static void sendJavaMail(JavaMailVO jmvo) {
static JavaMailConfig jmd=new JavaMailConfig();
public static void sendJavaMail(JavaMailVO jmvo) {
Properties prop = jmd.getProperties();
Au auth = new Au(jmd);
Session session = Session.getInstance(prop, auth);
MimeMessage msg = new MimeMessage(session);
try {
msg.setFrom(new InternetAddress(jmd.getMaifrom()));
StringBuffer sb=new StringBuffer();
int i=0;
for (String bcc:jmvo.getBCCRecipients()) {
sb.append(bcc);
i++;
if(i<jmvo.getBCCRecipients().length){
sb.append(",");
}
}
msg.setFrom(new InternetAddress(prop.getProperty("maifrom")));
msg.addRecipients(RecipientType.TO,sb.toString());
msg.setSubject(jmvo.getSubject());
msg.setContent(jmvo.getContent(), "text/html;charset=utf-8");
Transport.send(msg);
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
Au auth = new Au(jmd);
Session session = Session.getInstance(prop, auth);
MimeMessage msg = new MimeMessage(session);
try {
msg.setFrom(new InternetAddress(jmd.getMaifrom()));
StringBuffer sb=new StringBuffer();
int i=0;
for (String bcc:jmvo.getBCCRecipients()) {
sb.append(bcc);
i++;
if(i<jmvo.getBCCRecipients().length){
sb.append(",");
}
}
msg.setFrom(new InternetAddress(prop.getProperty("maifrom")));
msg.addRecipients(RecipientType.TO,sb.toString());
msg.setSubject(jmvo.getSubject());
msg.setContent(jmvo.getContent(), "text/html;charset=utf-8");
Transport.send(msg);
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
}
public void sendJavaMail(String[] FCCRecipients, String BCCRecipients, String content) {
}
}
可参考测试类编辑配置文件后直接使用
package mail;
import javax.mail.MessagingException;
import org.junit.Test;
public class TestJavaMail {
@Test
public void fun() throws MessagingException{
JavaMailVO jmvo=new JavaMailVO();
String[] bCCRecipients={"625959671@qq.com","631699895@qq.com"};
jmvo.setBCCRecipients(bCCRecipients);
String[] fCCRecipients={"625959671@qq.com","631699895@qq.com"};
jmvo.setFCCRecipients(fCCRecipients);
String subject="你好测试邮件";
String content="内容:你好测试邮件sss";
jmvo.setSubject(subject);
jmvo.setContent(content);
JavaMailUtil.sendJavaMail(jmvo);
}
@Test
public void fun() throws MessagingException{
JavaMailVO jmvo=new JavaMailVO();
String[] bCCRecipients={"625959671@qq.com","631699895@qq.com"};
jmvo.setBCCRecipients(bCCRecipients);
String[] fCCRecipients={"625959671@qq.com","631699895@qq.com"};
jmvo.setFCCRecipients(fCCRecipients);
String subject="你好测试邮件";
String content="内容:你好测试邮件sss";
jmvo.setSubject(subject);
jmvo.setContent(content);
JavaMailUtil.sendJavaMail(jmvo);
}
}
以下是配置文件javamail.properties
host=163
####登陆账号
username=chuxingyonghu
####登陆密码
password=*********
####发送账号
maifrom=chuxingyonghu@163.com
####登陆账号
username=chuxingyonghu
####登陆密码
password=*********
####发送账号
maifrom=chuxingyonghu@163.com
欢迎交流 邮箱chuxingyonghu@163.com