Spring的JavaMailSenderImpl发送邮件
来源:互联网 发布:java final关键字用法 编辑:程序博客网 时间:2024/06/05 11:54
POM.xml依赖
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.1.2.RELEASE</version>
</dependency>
1、先创建Email类存放邮件的相关信息:
import java.io.File;import java.io.Serializable;
import java.util.List;
public class Email implements Serializable {
private static final long serialVersionUID = 7934840497247727370L;
/** 用户组:可以按用户组来批量发送邮件 **/
/** 待用属性 **/
/** 收件人 **/
private List address;
/** 暗送 **/}
private String bcc;
/** 抄送给 **/
private List cc;
/** 邮件主题 **/
private String subject;
/** 邮件内容 **/
private String content;
/** 附件 **/
private List annexFile;
public List getAddress() {
return address;
}
public void setAddress(List address) {
this.address = address;
}
public String getBcc() {
return bcc;
}
public void setBcc(String bcc) {
this.bcc = bcc;
}
public List getCc() {
return cc;
}
public void setCc(List cc) {
this.cc = cc;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public List getAnnexFile() {
return annexFile;
}
public void setAnnexFile(List annexFile) {
this.annexFile = annexFile;
}
2、然后创建邮件服务器的信息类:
public class MailProperty {//邮件主机}
private String smtpHost;
//发送人账号
private String user;
//发送人密码
private String pwd;
//发送邮箱
private String from;
//回复到
private String replyTo;
public String getSmtpHost() {
return smtpHost;
}
public void setSmtpHost(String smtpHost) {
this.smtpHost = smtpHost;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
public String getReplyTo() {
return replyTo;
}
public void setReplyTo(String replyTo) {
this.replyTo = replyTo;
}
import java.io.File;
import java.util.List;
import javax.mail.internet.MimeMessage;import javax.mail.internet.MimeUtility;
import org.springframework.mail.javamail.JavaMailSenderImpl;import org.springframework.mail.javamail.MimeMessageHelper;
public class MailUtil {public void sendEmail(MailProperty property, Email email) throws Exception {
// 先配置邮件服务器
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
mailSender.setHost(property.getSmtpHost());
mailSender.setUsername(property.getUser());
mailSender.setPassword(property.getPwd());
// 设置邮件的属性
MimeMessage mime = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mime, true, "utf-8");
// 设置发件人
helper.setFrom(property.getFrom());
// 设置恢复到的账号
helper.setReplyTo(property.getReplyTo());
List<String> list = email.getAddress();
String[] addrs = new String[list.size()];
for (int i = 0; i < list.size(); i++) {
addrs[i] = list.get(i);
}
helper.setTo(addrs);// 收件人
// helper.setBcc(email.getBcc());// 暗送
List<String> ccList = email.getCc();
if (ccList != null) {
String[] cc = new String[ccList.size()];
for (int i = 0; i < ccList.size(); i++) {
cc[i] = ccList.get(i);
}
helper.setCc(cc);// 抄送
}
// 内嵌资源,这种功能很少用,因为大部分资源都在网上,只需在邮件正文中给个URL就足够了.
// helper.addInline(“logo”, new ClassPathResource(“logo.gif”)); //处理附件
if (email.getAnnexFile() != null) {
for (File file : email.getAnnexFile()) {
if (file == null) {
continue;
}
helper.addAttachment(MimeUtility.encodeWord(file.getName()),
file);
}
}
helper.setSubject(email.getSubject());// 邮件主题
helper.setText(email.getContent(), true);// true表示设定html格式
mailSender.send(mime);
}
}
import java.util.ArrayList;
import java.util.List;
public class MailTest {
public static void main(String[] args) {
MailProperty property = new MailProperty();property.setSmtpHost(“##”);//如: smtp.163.comproperty.setUser(“##”);//如:aaa@163.comproperty.setPwd(“##”);//密码property.setFrom(“##”);//发送人property.setReplyTo(“##”);Email email = new Email();List address = new ArrayList();address.add(“email@zhangjie.hn.cn”);//接收人email.setAddress(address);email.setContent(“测试”);email.setSubject(“测试”);MailUtil util = new MailUtil();try {util.sendEmail(property, email);} catch (Exception e) {e.printStackTrace();}
}}
0 0
- Spring的JavaMailSenderImpl发送邮件
- java Spring的JavaMailSenderImpl邮件发送功能
- 用Spring的邮件封装类JavaMailSenderImpl发送邮件
- JAVA 利用spring的JavaMailSenderImpl工具包发送邮件
- 通过javamailsenderimpl发送邮件
- Spring JavaMailSenderImpl发送邮件时中文乱码处理
- 使用 JavaMailSenderImpl SSL 465 发送邮件
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- Spring3.2下使用JavaMailSenderImpl类发送邮件
- Spring3.2下使用JavaMailSenderImpl类发送邮件
- Spring3.2下使用JavaMailSenderImpl类发送邮件
- spring的发送邮件
- spring的邮件发送体系
- 深度分析LINUX环境下如何配置multipath
- 第十三周 项目5.2 字符串的复制
- 初来乍到,分享一些自己写的源码!
- Web端云音乐widget测试
- Flume-ng生产环境实践(四)实现log格式化interceptor
- Spring的JavaMailSenderImpl发送邮件
- 第十三周oj平台项目三:统计元音字母
- 《unix高级环境编程》标准I/O——FILE对象
- 第13周 项目1-3 输出指定的元素
- Dialog的使用方法:常规和自定义
- UVA 11258 String Partition
- 《unix高级环境编程》标准I/O——流操作
- VS2012在添加域服务时找不到EF的问题
- 安全的应用内广播