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

Spring javaMail java 发送邮件

2013-05-08 14:25 513 查看
package com.ppzhao.comm;

import com.ppzhao.email.model.EmailAccount;
import com.ppzhao.web.email.form.EmailJobBean;

import java.io.File;
import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Properties;

import javax.mail.MessagingException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeUtility;

import org.springframework.mail.MailException;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;

/**
* @project: ppzhao
* @description :发送邮件
* @author: jim.sun
* @create_date: 2012-7-24
* @modify_time: 2012-7-24
*/
public class EmailHuiChuang {
/**
* 发送纯文本或HTML类型邮件 (HCService 服务专用)
*
* @param et
*            邮箱账号
* @param eb
*            邮件内容
* @return 是否发送成功
*/
public boolean sendSimpleOrHtmlMail(EmailAccount ea, EmailJobBean eb) {
boolean falg = false;
JavaMailSenderImpl javaMail = new JavaMailSenderImpl();
javaMail.setHost(ea.getSmtp());
javaMail.setUsername(ea.getEmail());
javaMail.setPassword(ea.getPwd());

Properties prop = new Properties();
prop.setProperty("mail.smtp.auth", "true");
javaMail.setJavaMailProperties(prop);
MimeMessage message = javaMail.createMimeMessage();
try {
MimeMessageHelper messageHelp = new MimeMessageHelper(message,
true, "GBK");
messageHelp.setFrom(ea.getEmail());

if (eb.getToEmail().indexOf(";") > 0) {
String toEmail = eb.getToEmail();
String[] toEmails = toEmail.split(";");
InternetAddress[] toall = new InternetAddress[toEmails.length];
for (int i = 0; i < toEmails.length; i++) {
toall[i] = new InternetAddress(toEmails[i]);
}
messageHelp.setTo(toall);
} else {
messageHelp.setTo(eb.getToEmail());
}
// 是否有抄送
if (null != eb.getCcEmail() && !"".equals(eb.getCcEmail())) {
if (eb.getCcEmail().indexOf(";") > 0) {
String toccEmail = eb.getCcEmail();
String[] toccEmails = toccEmail.split(";");
InternetAddress[] toccall = new InternetAddress[toccEmails.length];
for (int i = 0; i < toccEmails.length; i++) {
toccall[i] = new InternetAddress(toccEmails[i]);
}
messageHelp.setCc(toccall);
} else {
messageHelp.setCc(eb.getCcEmail());
}
}
messageHelp.setSubject(eb.getSubjuect());

if (null != eb.getAddress() && !"".equals(eb.getAddress())) {
File file = new File(eb.getAddress());
messageHelp.addAttachment(
MimeUtility.encodeWord(file.getName()), file);
}
messageHelp.setText(eb.getContent(), true);
javaMail.send(message);
falg = true;
} catch (MessagingException e) {

e.printStackTrace();
} catch (UnsupportedEncodingException e) {

e.printStackTrace();
}

return falg;
}

/**
* 发送纯文本或HTML类型邮件(单收信人)
*
* @param from
*            发送使用邮箱
* @param pwd
*            发送使用邮箱密码
* @param host
*            smtp
* @param isHtml
*            是否是html邮件
* @param subject
*            主题
* @param to
*            发送至XX邮件
* @param text
*            内容
*/
public static boolean sendMail(String from, String pwd, String host,
boolean isHtml, String subject, String to, String text) {
boolean falg = false;
JavaMailSenderImpl javaMail = new JavaMailSenderImpl();
javaMail.setHost(host);
javaMail.setUsername(from);
javaMail.setPassword(pwd);
Properties prop = new Properties();
prop.setProperty("mail.smtp.auth", "true");
javaMail.setJavaMailProperties(prop);
MimeMessage message = javaMail.createMimeMessage();
try {
MimeMessageHelper messageHelp = new MimeMessageHelper(message,
true, "GBK");

String company = javax.mail.internet.MimeUtility.encodeText("拍拍找");
messageHelp.setFrom(company + "<" + from + ">");
messageHelp.setTo(to);
messageHelp.setSubject(subject);
messageHelp.setText(text, isHtml);
javaMail.send(message);
falg = true;
} catch (MailException e) {
e.printStackTrace();
System.out.println("E-mail failure...");
} catch (MessagingException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return falg;
}

/**
* 发送纯文本或HTML类型邮件 带抄送(单收信人)
*
* @param from
*            发送使用邮箱
* @param pwd
*            发送使用邮箱密码
* @param host
*            smtp
* @param isHtml
*            是否是html邮件
* @param subject
*            主题
* @param to
*            发送至XX邮件
* @param text
*            内容
*/
public static boolean sendMail(String from, String pwd, String host,
boolean isHtml, String subject, String to, String text,
String[] ccArray) {
boolean falg = false;
JavaMailSenderImpl javaMail = new JavaMailSenderImpl();
javaMail.setHost(host);
javaMail.setUsername(from);
javaMail.setPassword(pwd);
Properties prop = new Properties();
prop.setProperty("mail.smtp.auth", "true");
javaMail.setJavaMailProperties(prop);
MimeMessage message = javaMail.createMimeMessage();
try {
MimeMessageHelper messageHelp = new MimeMessageHelper(message,
true, "GBK");
String company = javax.mail.internet.MimeUtility.encodeText("拍拍找");
messageHelp.setFrom(company + "<" + from + ">");
messageHelp.setTo(to);
messageHelp.setCc(ccArray);
messageHelp.setSubject(subject);
messageHelp.setText(text, isHtml);
javaMail.send(message);
falg = true;
} catch (MailException e) {
e.printStackTrace();
System.out.println("E-mail failure...");
} catch (MessagingException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return falg;
}

/**
* 发送个人纯文本或HTML类型邮件 带附件(单收信人)
*
* @param from
*            发送使用邮箱
* @param pwd
*            发送使用邮箱密码
* @param host
*            smtp
* @param isHtml
*            是否是html邮件
* @param subject
*            主题
* @param to
*            发送至XX邮件
* @param text
*            内容
* @param files
*            附件
*/
public static boolean sendMail(String from, String pwd, String host,
boolean isHtml, String subject, String to, String text,
List<File> files) {
boolean falg = false;
JavaMailSenderImpl javaMail = new JavaMailSenderImpl();
javaMail.setHost(host);
javaMail.setUsername(from);
javaMail.setPassword(pwd);
Properties prop = new Properties();
prop.setProperty("mail.smtp.auth", "true");
javaMail.setJavaMailProperties(prop);
MimeMessage message = javaMail.createMimeMessage();
try {
MimeMessageHelper messageHelp = new MimeMessageHelper(message,
true, "GBK");
String company = javax.mail.internet.MimeUtility.encodeText("拍拍找");
messageHelp.setFrom(company + "<" + from + ">");
messageHelp.setTo(to);
for (File accessory : files) {
messageHelp.addAttachment(
MimeUtility.encodeWord(accessory.getName()), accessory);
}
messageHelp.setSubject(subject);
messageHelp.setText(text, isHtml);
javaMail.send(message);
falg = true;
} catch (MailException e) {
e.printStackTrace();
System.out.println("E-mail failure...");
} catch (MessagingException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return falg;
}

/**
* 发送纯文本或HTML类型邮件 带 抄送 附件(单收信人)
*
* @param from
*            发送使用邮箱
* @param pwd
*            发送使用邮箱密码
* @param host
*            smtp
* @param isHtml
*            是否是html邮件
* @param subject
*            主题
* @param to
*            发送至XX邮件
* @param text
*            内容
* @param files
*            附件
* @param ccArray
*            抄送
*/
public static boolean sendMail(String from, String pwd, String host,
boolean isHtml, String subject, String to, String text,
List<File> files, String[] ccArray) {
boolean falg = false;
JavaMailSenderImpl javaMail = new JavaMailSenderImpl();
javaMail.setHost(host);
javaMail.setUsername(from);
javaMail.setPassword(pwd);
Properties prop = new Properties();
prop.setProperty("mail.smtp.auth", "true");
javaMail.setJavaMailProperties(prop);
MimeMessage message = javaMail.createMimeMessage();
try {
MimeMessageHelper messageHelp = new MimeMessageHelper(message,
true, "GBK");
String company = javax.mail.internet.MimeUtility.encodeText("拍拍找");
messageHelp.setFrom(company + "<" + from + ">");
messageHelp.setTo(to);
for (File accessory : files) {
messageHelp.addAttachment(
MimeUtility.encodeWord(accessory.getName()), accessory);
}
messageHelp.setCc(ccArray);
messageHelp.setSubject(subject);
messageHelp.setText(text, isHtml);
javaMail.send(message);
falg = true;
} catch (MailException e) {
e.printStackTrace();
System.out.println("E-mail failure...");
} catch (MessagingException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return falg;
}

/**
* 发送纯文本或HTML类型邮件(多收信人)
*
* @param from
*            发送使用邮箱
* @param pwd
*            发送使用邮箱密码
* @param host
*            smtp
* @param isHtml
*            是否是html邮件
* @param subject
*            主题
* @param to
*            发送至XX邮件
* @param text
*            内容
*/
public static boolean sendMail(String from, String pwd, String host,
boolean isHtml, String subject, String[] to, String text) {
boolean falg = false;
JavaMailSenderImpl javaMail = new JavaMailSenderImpl();
javaMail.setHost(host);
javaMail.setUsername(from);
javaMail.setPassword(pwd);
Properties prop = new Properties();
prop.setProperty("mail.smtp.auth", "true");
javaMail.setJavaMailProperties(prop);
MimeMessage message = javaMail.createMimeMessage();
try {
MimeMessageHelper messageHelp = new MimeMessageHelper(message,
true, "GBK");
String company = javax.mail.internet.MimeUtility.encodeText("拍拍找");
messageHelp.setFrom(company + "<" + from + ">");
messageHelp.setTo(to);
messageHelp.setSubject(subject);
messageHelp.setText(text, isHtml);
javaMail.send(message);
falg = true;
} catch (MailException e) {
e.printStackTrace();
System.out.println("E-mail failure...");
} catch (MessagingException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return falg;
}

/**
* 发送纯文本或HTML类型邮件 带抄送(多收信人)
*
* @param from
*            发送使用邮箱
* @param pwd
*            发送使用邮箱密码
* @param host
*            smtp
* @param isHtml
*            是否是html邮件
* @param subject
*            主题
* @param to
*            发送至XX邮件
* @param text
*            内容
*/
public static boolean sendMail(String from, String pwd, String host,
boolean isHtml, String subject, String[] to, String text,
String[] ccArray) {
boolean falg = false;
JavaMailSenderImpl javaMail = new JavaMailSenderImpl();
javaMail.setHost(host);
javaMail.setUsername(from);
javaMail.setPassword(pwd);
Properties prop = new Properties();
prop.setProperty("mail.smtp.auth", "true");
javaMail.setJavaMailProperties(prop);
MimeMessage message = javaMail.createMimeMessage();
try {
MimeMessageHelper messageHelp = new MimeMessageHelper(message,
true, "GBK");
String company = javax.mail.internet.MimeUtility.encodeText("拍拍找");
messageHelp.setFrom(company + "<" + from + ">");
messageHelp.setTo(to);
messageHelp.setCc(ccArray);
messageHelp.setSubject(subject);
messageHelp.setText(text, isHtml);
javaMail.send(message);
falg = true;
} catch (MailException e) {
e.printStackTrace();
System.out.println("E-mail failure...");
} catch (MessagingException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return falg;
}

/**
* 发送个人纯文本或HTML类型邮件 带附件(多收信人)
*
* @param from
*            发送使用邮箱
* @param pwd
*            发送使用邮箱密码
* @param host
*            smtp
* @param isHtml
*            是否是html邮件
* @param subject
*            主题
* @param to
*            发送至XX邮件
* @param text
*            内容
* @param files
*            附件
*/
public static boolean sendMail(String from, String pwd, String host,
boolean isHtml, String subject, String[] to, String text,
List<File> files) {
boolean falg = false;
JavaMailSenderImpl javaMail = new JavaMailSenderImpl();
javaMail.setHost(host);
javaMail.setUsername(from);
javaMail.setPassword(pwd);
Properties prop = new Properties();
prop.setProperty("mail.smtp.auth", "true");
javaMail.setJavaMailProperties(prop);
MimeMessage message = javaMail.createMimeMessage();
try {
MimeMessageHelper messageHelp = new MimeMessageHelper(message,
true, "GBK");
String company = javax.mail.internet.MimeUtility.encodeText("拍拍找");
messageHelp.setFrom(company + "<" + from + ">");
messageHelp.setTo(to);
for (File accessory : files) {
messageHelp.addAttachment(
MimeUtility.encodeWord(accessory.getName()), accessory);
}
messageHelp.setSubject(subject);
messageHelp.setText(text, isHtml);
javaMail.send(message);
falg = true;
} catch (MailException e) {
e.printStackTrace();
System.out.println("E-mail failure...");
} catch (MessagingException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return falg;
}

/**
* 发送纯文本或HTML类型邮件 带 抄送 附件(多收信人)
*
* @param from
*            发送使用邮箱
* @param pwd
*            发送使用邮箱密码
* @param host
*            smtp
* @param isHtml
*            是否是html邮件
* @param subject
*            主题
* @param to
*            发送至XX邮件
* @param text
*            内容
* @param files
*            附件
* @param ccArray
*            抄送
*/
public static boolean sendMail(String from, String pwd, String host,
boolean isHtml, String subject, String[] to, String text,
List<File> files, String[] ccArray) {
boolean falg = false;
JavaMailSenderImpl javaMail = new JavaMailSenderImpl();
javaMail.setHost(host);
javaMail.setUsername(from);
javaMail.setPassword(pwd);
Properties prop = new Properties();
prop.setProperty("mail.smtp.auth", "true");
javaMail.setJavaMailProperties(prop);
MimeMessage message = javaMail.createMimeMessage();
try {
MimeMessageHelper messageHelp = new MimeMessageHelper(message,
true, "GBK");
String company = javax.mail.internet.MimeUtility.encodeText("拍拍找");
messageHelp.setFrom(company + "<" + from + ">");
messageHelp.setTo(to);
for (File accessory : files) {
messageHelp.addAttachment(
MimeUtility.encodeWord(accessory.getName()), accessory);
}
messageHelp.setCc(ccArray);
messageHelp.setSubject(subject);
messageHelp.setText(text, isHtml);
javaMail.send(message);
falg = true;
} catch (MailException e) {
e.printStackTrace();
System.out.println("E-mail failure...");
} catch (MessagingException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return falg;
}

}


EmailJobBean .java


package com.ppzhao.web.email.form;

public class EmailJobBean {
/**
* 收件人
*/
private String toEmail;
/**
* 抄送
*/
private String ccEmail;
/**
* 主题
*/
private String subjuect;
/**
* 正文
*/
private String content;
/**
* 发送时间
*/
private String jobtime;

private String address;

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}

public String getToEmail() {
return toEmail;
}

public void setToEmail(String toEmail) {
this.toEmail = toEmail;
}

public String getCcEmail() {
return ccEmail;
}

public void setCcEmail(String ccEmail) {
this.ccEmail = ccEmail;
}

public String getSubjuect() {
return subjuect;
}

public void setSubjuect(String subjuect) {
this.subjuect = subjuect;
}

public String getContent() {
return content;
}

public void setContent(String content) {
this.content = content;
}

public String getJobtime() {
return jobtime;
}

public void setJobtime(String jobtime) {
this.jobtime = jobtime;
}

}

http://www.ppzhao.com http://www.531.sh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: