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 ...
随机推荐
- 去掉 input type="number" 在浏览器中遗留的图标样式
input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{ /* chrome */ -webkit-appeara ...
- Ubuntu创建新用户并设置权限
打开终端开启root账户 sudo passwd -u root 设置root密码,输入两次 sudo passwd root 切换root账号 su - 或 su root 退出root账户使用ex ...
- Spring Boot 揭秘与实战 附录 - Spring Boot 公共配置
Spring Boot 公共配置,配置 application.properties/application.yml 文件中. 摘自:http://docs.spring.io/spring-boot ...
- maven 细节 —— scope、坐标
对于 idea 开发环境,测试代码便是在 src/test/java(该java目录会在创建时标注为测试文件夹) 目录下的 .java 代码为测试代码: 1. scope scope的分类 compi ...
- JavaBasic_04
选择结构 选择结构有特定的语法规则 代码要执行具体的逻辑运算进行判断(代码执行有条件) 逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码(根据不同的条件执行不同的代码) Java语言提 ...
- urllib模块通过post请求获取数据
功能: 输入你要查找的单词,会返回相对应的结果 import urllib.request import urllib.parse import json class youdaoSpider: de ...
- .Net Core开发环境迁移到Linux
.Net开发环境迁移到Linux上去 .Net Core发布之前,多年来,.Net程序员的开发环境都在Windows上. 三街第一帅的我,虽然上班的8小时一直在windows上撸C#,但是下班时间一般 ...
- C++学习(九)(C语言部分)之 项目 推箱子游戏
游戏制作 推箱子 步骤分析 1.模板 2.模板分析 组成元素: 空地 墙 人 目的地 箱子 背景 3.如何操作 通过WASD键盘操作人,推着箱子,到达目的地,游戏结束,如果箱子卡在死角则游戏失败 4. ...
- Python——xlsxwriter模块的使用
xlsxwriter是用于制作Excel表格的 安装方法 40 wget https://pypi.python.org/packages/e4/63/e53deacc293c7fadf95b8404 ...
- getpwnam,getgrnam,getpwent,crypt等函数
[root@bogon code]# cat a.c #include<stdio.h> #include<pwd.h> int main() { struct passwd ...