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 ...
随机推荐
- JAVA AES加密解密
import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java ...
- 【leetcode】66-PlusOne
problem Plus One code class Solution { public: vector<int> plusOne(vector<int>& digi ...
- NOI-1.8-17-最好的草-矩阵找最大连接井号-【递归】
17:最好的草 查看 提交 统计 提问 总时间限制: 10000ms 单个测试点时间限制: 1000ms 内存限制: 65536kB 描述 奶牛Bessie计划好好享受柔软的春季新草.新草分布在 ...
- sticky footer 和 flex布局的原理
Sticky footers设计是最古老和最常见的效果之一,大多数人都曾经经历过.它可以概括如下:如果页面内容不够长的时候,页脚块粘贴在视窗底部:如果内容足够长时,页脚块会被内容向下推送. 一.使用f ...
- lame定理求欧几里得算法的求余和赋值次数
根据lame定理,根据欧几里得算法求(a,b)的最大公因数过程如下(假设a>b):
- jQuery事件委托方法 bind live delegate on
1.bind jquery 1.3之前 定义和用法:主要用于给选择到的元素上绑定特定事件类型的监听函数 语法: bind(type,[data],function(e)); 特点: a.适合页 ...
- Redis 当成数据库在使用和可靠的分布式锁,Redlock 真的可行么?
怎样做可靠的分布式锁,Redlock 真的可行么? https://martin.kleppmann.com/2016/02/08/how-to-do-distributed-locking.html ...
- this语句的第三、四点
接着上次的继续更新 up~` 第三点主体怎么找? 就在这个函数(方法)带不带“.”,如果函数和方法执行带“.”,那么this就指向“.”前面的对象,如果不带“.”就指向window. 第四点自执行函 ...
- 基于lfslivecd-x86-6.3-r2145安装vnc和qemu
文章目录 把lfslivecd复制到硬盘上使用 编译安装vnc 前后下载了多个软件包进行编译安装 编译VNC 启动VNC 编译安装qemu 启动VNC客户端并连接虚拟机的vncviewer 把lfsl ...
- Android资源收集
1 android studio最新版本下载地址:https://developer.android.google.cn/studio/preview/?utm_source=android-stud ...