spring邮件发送
1,Emaill类:
package com.learn.jsp.pojo;
/**
* 邮件基本信息
* @author kevin
*
*/
public class Email {
private String emailFrom ;
private String emailTo;
private String emailSubject;
private String emailContent;
public String getEmailContent() {
return emailContent;
}
public String getEmailFrom() {
return emailFrom;
}
public String getEmailSubject() {
return emailSubject;
}
public String getEmailTo() {
return emailTo;
}
public void setEmailContent(String emailContent) {
this.emailContent = emailContent;
}
public void setEmailFrom(String emailFrom) {
this.emailFrom = emailFrom;
}
public void setEmailSubject(String emailSubject) {
this.emailSubject = emailSubject;
}
public void setEmailTo(String emailTo) {
this.emailTo = emailTo;
}
}
2,EmailThread:
package com.learn.jsp.pojo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
public class EmailThread implements Runnable {
private Email email;
private JavaMailSender emailSender;
public EmailThread(Email email, JavaMailSender emailSender) {
super();
this.email = email;
this.emailSender = emailSender;
}
public EmailThread() {
super();
}
public void run() {
//发送条件不足
if (email == null || emailSender == null) {
System.out.println("发送条件不足发送失败~~~");
return;
}
SimpleMailMessage mail = new SimpleMailMessage();
boolean isOk = true;
try {
if (email != null) {
if (StringUtils.isNotEmpty(email.getEmailFrom())) {
mail.setFrom(email.getEmailFrom());// 发送者
} else {
isOk = false;
}
if (StringUtils.isNotEmpty(email.getEmailTo())) {
mail.setTo(email.getEmailTo());// 接受者
} else {
isOk = false;
}
if (StringUtils.isNotEmpty(email.getEmailSubject())) {
mail.setSubject(email.getEmailSubject());// 主题
} else {
isOk = false;
}
if (StringUtils.isNotEmpty(email.getEmailContent())) {
mail.setText(email.getEmailContent());// 邮件内容
} else {
isOk = false;
}
} else {
isOk = false;
}
if (!isOk) {
throw new Exception("内容为空~~-发送失败");
}
// 发送邮件
emailSender.send(mail);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
3基础配置:
email.properties
mail.smtp.host=smtp.qq.com
mail.smtp.auth=true
mail.smtp.timeout=50000
mail.smtp.username=xxxxxxx@qq.com
mail.smtp.password=独立密码
mail.smtp.port=465
mail.smtp.starttls.enable=true
4,配置spring bean
<!-- 加载配置文件 -->
<context:property-placeholder location="classpath:email.properties" />
<bean id="emailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="${mail.smtp.host}" />
<property name="port" value="${mail.smtp.port}" />
<property name="username" value="${mail.smtp.username}" />
<property name="password" value="${mail.smtp.password}" />
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.timeout">${mail.smtp.timeout}</prop>
<prop key="mail.smtp.auth">${mail.smtp.auth}</prop>
<prop key="mail.smtp.starttls.enable">${mail.smtp.starttls.enable}</prop>
<prop key="mail.smtp.socketFactory.port">${mail.smtp.port}</prop>
<prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
<prop key="mail.smtp.socketFactory.fallback">false</prop>
</props>
</property>
</bean>
5,controller中注入发送器:
@Autowired
@Qualifier("emailSender")
private JavaMailSender emailSender;
6,实现邮件发送
spring邮件发送的更多相关文章
- Spring 邮件发送
前言:以前都是直接用Java自带的邮件工具发送邮件,现在Spring帮我们做了封装,提供了更好用更简单的发送邮件工具JavaMailSender 关于邮件服务器的设置就不在这里说了,直接去QQ邮箱 ...
- java spring 邮件发送
开发中经常会遇到发送邮件进行用户验证,或者其它推送信息的情况,本文基于spring,完成邮件的发送,主要支持普通文本邮件的发送,html文本邮件的发送,带附件的邮件发送,没有实现群发.多个附件发送等需 ...
- Spring邮件发送1
注意:邮件发送code中,邮件服务器的申请和配置是比较主要的一个环节,博主这里用的是QQ的邮件服务器.有需要的可以谷歌.百度查下如何开通. 今天看了下Spring的官方文档的邮件发送这一章节.在这里记 ...
- Spring邮件发送2
前言:上一篇博文讲解了邮件发送的基础用法(数据是写死的),然而在实际开发中,大多数情况下邮件内容都是根据业务来动态生成的.所以在此篇博文中,我们将讲解邮件发送携带数据的几种方案. 一.解析自定义占位符 ...
- Spring的javaMail邮件发送(带附件)
项目中经常用到邮件功能,在这里简单的做一下笔记,方便日后温习. 首先需要在配置文件jdbc.properties添加: #------------ Mail ------------ mail.smt ...
- 使用spring的邮件发送功能
使用spring提供的MailSender和JavaMailSender类. 1.邮件对象类 package cn.luxh.app.mail; import java.util.List; impo ...
- 使用Spring的JAVA Mail支持简化邮件发送(转)
闲来无事,翻看<Spring in Action>,发现Spring集成了对JAVA Mail的支持,有点小激动的看了一遍,嗯,话说真的简单了很多. Spring的邮件发送的核心是Mail ...
- Spring Boot 2.0 图文教程 | 集成邮件发送功能
文章首发自个人微信公众号: 小哈学Java 个人网站: https://www.exception.site/springboot/spring-boots-send-mail 大家好,后续会间断地奉 ...
- Spring Boot整合邮件发送
概述 Spring Boot下面整合了邮件服务器,使用Spring Boot能够轻松实现邮件发送:整理下最近使用Spring Boot发送邮件和注意事项: Maven包依赖 <dependenc ...
随机推荐
- 微软Power BI 每月功能更新系列——10月Power BI 新功能学习
Power BI Desktop10月产品功能摘要 本月Power Plus Desktop的更新充满了整个产品的小型和大型改进.一个巨大的更新是Power BI服务支持我们的复合模型和聚合预览.这实 ...
- java网络编程ServerSocket类 和Socket类的常用构造方法及其方法
Socket类Socket(InetAddress address, int port) 创建一个流套接字并将其连接到指定 IP 地址的指定端口号.Socket(String host, int po ...
- PHP设计模式之工厂模式(转)
概念 工厂模式是我们最常用的实例化对象模式,是用工厂方法代替new操作的一种模式. 使用工厂模式的好处是,如果你想要更改所实例化的类名等,则只需更改该工厂方法内容即可,不需逐一寻找代码中具体实例化的地 ...
- mbpoll Test FreeModbus TCP Demo
/********************************************************************************* * mbpoll Test Fre ...
- [LeetCode&Python] Problem 409. Longest Palindrome
Given a string which consists of lowercase or uppercase letters, find the length of the longest pali ...
- easyui的DataGrid的单元格添加ProgressBar进度条
网上的搜到的好多不能用,官方easy-ui使用进度条 <div id="p" class="easyui-progressbar" ></di ...
- nginx根据url中的参数进行转发
在实际项目中,由于https安全策略,我们无法直接跳转到我们想要跳转到的地址 例如 url:https://abc.dc.com/image?url=https://vpic.video.qq.com ...
- vim 介绍安装 复制 剪切 粘贴
1. vim 产生:对于linux 文件的编辑,最初是vi,然后对于其功能的扩展,就产生了vim vim 的安装 yum install vim 2.光标的移动 用得最多的就是方向键上的 上下左右,和 ...
- 【HDOJ3567】【预处理bfs+映射+康拓展开hash】
http://acm.hdu.edu.cn/showproblem.php?pid=3567 Eight II Time Limit: 4000/2000 MS (Java/Others) Me ...
- Python基础之二进制
引子 首先,计算机一共就能做两件事:计算和通信 那在讲计算机之前,我们先来讲一个故事,大家知道古时候的中国是如何通信的么? 假如,战国时期两个国家要打仗了,我们垒了城墙,每隔一段就有兵镇守,现在有人来 ...