IntelliJ IDEA 2017版 spring-boot 2.0.5 邮件发送简单实例 (三)
一、搭建SpringBoot项目
详见此文:https://www.cnblogs.com/liuyangfirst/p/8298588.html
注意:
需要添加mail依赖的包,同时还添加了lombock,方便日志打印。如图所示
二、启动Application,测试项目搭建是否成功
三、配置properties文档
#########邮箱协议
spring.mail.host=smtp.163.com ####还可以是smtp.126.com 等
##########发送邮件的用户名
spring.mail.username= 你的邮箱
########移动端客户授权码(需要开通POP3授权)
spring.mail.password= 授权密码
#######配置邮件发送默认编码utf-8
spring.mail.default-encoding=UTF-8
注意:
需要授权码,163为例,163官网授权码开通如下
https://help.mail.163.com/faqDetail.do?code=d7a5dc8471cd0c0e8b4b8f4f8e49998b374173cfe9171305fa1ce630d7f67ac2cda80145a1742516
四、业务逻辑
1、需要发件人邮箱地址
2、需要调用自带邮箱封装的类,JavaMailSender
3、需要将收件人,主题,内容填入到方法内,最后,调用JavaMailSender的send方法发送
package com.baidu.mailtest.service; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service; /******************************
* @author : liuyang
* <p>ProjectName:mail </p>
* @ClassName : MailService
* @date : 2018/9/22 0022
* @time : 22:57
* @createTime 2018-09-22 22:57
* @version : 2.0
* @description :
*
*
*
*******************************/ @Service
@Slf4j
public class MailService { /**
* 发件人邮箱地址
*/
@Value("${spring.mail.username}")
private String fromUserName; @Autowired
private JavaMailSender javaMailSender; /**
* 一般发送邮件方法
*
* @param to 发送给某人
* @param subject 邮件主题
* @param context 邮件内容
*/
public void sendSimpleMail(String to, String subject, String context) { SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
simpleMailMessage.setTo(to);
simpleMailMessage.setSubject(subject);
simpleMailMessage.setText(context);
simpleMailMessage.setFrom(fromUserName); javaMailSender.send(simpleMailMessage);
} }
五、编写测试类
package com.baidu.mailtest; import com.baidu.mailtest.service.MailService;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner; import javax.annotation.Resource; @RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class MailServiceApplicationTests { @Resource
MailService mailService; @Test
public void sayMail() { mailService.sendSimpleMail("收件人邮箱", "SpringBoot邮件测试", "今天需要很多美女陪我"); log.info("发送成功");
} }
六、观察测试结果
注意发送时候,测试类比较慢,如图位置会卡一会儿。
发送成功如图:
七、源码分享
git@github.com:liushaoye/mailtest.git
IntelliJ IDEA 2017版 spring-boot 2.0.5 邮件发送简单实例 (三)的更多相关文章
- Spring Boot 2.0 版的开源项目云收藏来了!
给大家聊一聊云收藏从 Spring Boot 1.0 升级到 2.0 所踩的坑 先给大家晒一下云收藏的几个数据,作为一个 Spring Boot 的开源项目(https://github.com/cl ...
- Spring Boot 2.0 Intellij Idea 中图文详解打包成可执行Jar
我们使用Spring Boot 2.0 创建好我们的项目后,我们一般需要打包,然后部署到服务器上. 打包步骤: 1. 选中项目,右键——> Open Module Settings. 2. 切换 ...
- Spring Boot 2.0正式发布,新特性解读
作者|翟永超 Spring Boot 2.0 来啦,有哪些新特性?升级吗? 写在前面 北京时间 3 月 1 日,经过漫长的等待之后,Spring Boot 2.0 正式发布.作为 Spring 生态中 ...
- Spring Boot 2.0 的快速入门(图文教程)
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! Spring Boot 2.0 的快速入门(图文教程) 大家都 ...
- Spring Boot 2.0 入门指南
0x01 什么是Spring Boot? Spring Boot是用来简化Spring应用初始搭建以及开发过程的全新框架,被认为是Spring MVC的“接班人”,和微服务紧密联系在一起. 0x02 ...
- Spring Boot 2.0 返回JSP页面实战
1. 模板引擎JSP的限制 在开始之前呢,我觉得我们有必要先去了解下 Spring Boot 2.0 官方文档中提到的如下内容: 模板引擎 除了REST Web服务之外,还可以使用Spring MVC ...
- Spring Boot 2.0 热部署指南
Spring Boot 2.0 支持热部署,实现方法很简单 Spring Boot 2.0 有几种热重载的选项. 推荐的方法是使用spring-boot-devtools 因为它提供了额外的开发时间功 ...
- spring boot 2.0.3+spring cloud (Finchley)7、服务链路追踪Spring Cloud Sleuth
参考:Spring Cloud(十二):分布式链路跟踪 Sleuth 与 Zipkin[Finchley 版] Spring Cloud Sleuth 是Spring Cloud的一个组件,主要功能是 ...
- Spring Boot 2.0 迁移指南
![img](https://mmbiz.qpic.cn/mmbiz_jpg/1flHOHZw6Rs7yEJ6ItV43JZMS7AJWoMSZtxicnG0iaE0AvpUHI8oM7lxz1rRs ...
随机推荐
- Delphi: TMemo垂直滚动条自动显示
项目中碰到此问题,之前一直没留意,研究一番用上,以做备忘.参考其它解决方法,不尽完美,自试之,达到效果. 直上代码: type TMemo = class(StdCtrls.TMemo) protec ...
- iOS 网络操作与AFNetworking
一.早前的几个网络框架 1.ASI框架: HTTP终结者.很牛, 但是有BUG, 已经停止更新. 2.MKNetworkKit (印度人写的). 3.AFN一直还在更新. AFNetworking的出 ...
- Bundle Adjustment---即最小化重投影误差(高翔slam---第七讲)
一.历史由来 Adjustment computation最早是由geodesy的人搞出来的.19世纪中期的时候,geodetics的学者就开始研究large scale triangulations ...
- 同一台主机部署两个比特币钱包以及rpc服务的摘要
.bitcoin QA Test环境 启动指定参数: "C:\Program Files (x86)\Bitcoin\bitcoin-qt.exe" -testnet -serve ...
- DOM-设置样式心得
一.style属性的设置和获取 style是一个对象,不能通过内嵌或外链获取,也就是只有是行内式的时候才能打印显示 style本身是一个对象 属性的值是字符串,没有赋值的情况下是"" ...
- PAT 1046 划拳(15)(代码)
1046 划拳(15)(15 分) 划拳是古老中国酒文化的一个有趣的组成部分.酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字.如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢 ...
- 找不到或无法加载主类(Could not find or load main class )
在Linux环境下,写了一个简单的java程序,通过javac编译成class文件,然后用java 运行的时候,报了这个错误, 搜了一下,可能是classpath的问题,所以用echo $CLASSP ...
- WIN8配置IIS8.0+PHP+Mysql+Zend
第一步 开启WIN8的IIS 8.0 控制面板 → 程序与功能 → 启用或关闭WINDOWS功能 按照上面勾选 确定即可 成功安装完毕 打开 http://localhost/ 或者 http:/ ...
- VS2010插件 VS.PHP 调试开发php程序
VS 插件VS.PHP 调试PHP的方法;不得不说vs强大啊,此断点调试功能在zend都做不到 如图: 设置成功之后,就可以像调试 .Net程序一样试调Php程序了! 调试的步骤: 1.在需要调试的地 ...
- 担心后端代码泄露?用delphi做后端,模板扣出来,随时可以变化。
担心后端代码泄露?用delphi做后端,模板扣出来,随时可以变化. 本项目不是intraweb, unigui等类似的拖拉项目,只是一个简单 的模板引擎,理论上可以结合任何后端. 要就下载源码,作者保 ...