SpringBoot 整合 Mail|学习笔记

简介: 快速学习 SpringBoot 整合 Mail

开发者学堂课程【SpringBoot 实战教程 SpringBoot 整合 Mail】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/651/detail/10805


SpringBoot 整合 Mail


1、首先需要做和邮件相关的架包的依赖springboot 提供的把它放进工程中创建好工程做好 web 依赖

<!--邮件依赖-->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-mail</artifactId>

</dependency>

2、进行相关属性的配置需要指明用哪个邮件服务器进行发送把以下代码拷贝到全局配置文件

#JavaMailSender 邮件发送的配置

spring.mail.host=smtp.qq.com 这是qq的 #smtp.163.com 163 改成这个

spring.mail.username=465008297@qq.com

spring.mail.password=cjmegwewmbiqcach#如果使用 qq 邮箱password 是授权码如果是163,password 就是邮箱的密码

spring.mail.properties.mail.smtp.auth=true

spring.mail.properties.mail.smtp.starttls.enable=true

spring.mail.properties.mail.smtp.starttls.required=true

#若使用QQ邮箱发送邮件,则需要修改为spring.mail.host=smtp.qq.com,同时 spring.mail.pass word 改为 QQ 邮箱的授权码。#QQ 邮箱->设置->账户->POP3/SMTP 服务:开启服务后会获得 QQ 的授权码

出现认证失败的解决方案因为 JDK1.8中 jre\lib\security 中两个 jar 包替换的缘故。将下载后的 local_policy.jar 和 US_export_policy.jar 替换到 JDK1.8的jre\lib\security 文件夹即可。

3、创建包,com.qianteng.email。

写一个类读取发件人获取到发件人的邮箱 EmailConfig

image.png

package com. qianfeng. email;

@Component用注解创建对象

public class EmailConfig {

@Value ( '${spring .mail . username }’’)

用注解取到值取一个值是因为发件人的邮箱经常用单独取一下即可从配置文件中取到的属性名的值就配给它

PrivateStringeamil From;发件人

PublicString getEmailFrom() {生成 setget 方法

return email From;

}

public void setEmailFrom (String email From) {

this . emailFrom = email From;

}

4、发送邮件功能写相应的 service 和 controller写在一个包下创建一个接口 EmailService

//发送简单的邮件邮件的内容都是文本

void sendS impleMail (StringsendTo, string title, Stringcontent) ; 发给谁发送的标题发送邮件的内容是变化的

5、写实现类,EmailServicelmpl,实现创建的接口

加 service 注解可以从 EmailConfig 的到发件人的邮箱

@Service

public class Email ServiceImpl implements EmailService {

@Autowired

private EmailConfig emailConfig;

@Autowired

private JavaMailSender mailSender;实现邮件的发送只要依赖 mail 包 就会有实体类

@Override

public void sendSimpleMail (String sendTo, String title, String content)

//实现简单邮件的发送指含有文本的文件

SimpleMai lMessage message=new SimpleMailMessage () ;构造邮件的实体类

message . set From (lemailConfig.getEmailFrom() )指定谁发邮件

message . setTo ( sendTo)通过参数接收过来

message. setSubject ("title") ;

message. setText ("content") ;

mailSender . send (message) 通过 mailSender.send方法发送出去

}

}

这是普通的邮件只含有我文本的邮件

只要注解被扫描到就会创建 EmailConfig 的对象

@Component

public classEmailConfig {

@Value ("${ spring . mail . username] ")

private String email From;

public String getEmail From() {

return email From;

}

public void setEmail From(String emailFrom) {

this . email From = email From;

}

6、创建 controller,EmailController。

加注解调用 service注入 emailservice

@Controller

public classEmailController {

@Autowired

private EmailService email Service ;

@RequestMapping ("/simple")

@ResponseBody

public String sendS impleEmail ()

{

emailService . sendSimpleMail ("465008297@qq. com", "你好","明天去你家玩儿") ;自己发给自己

Return ‘’success’’;

}

}

7、进行 controllerservice 的扫描

@SpringBootApplication (scanBasePackages="com. qianfeng. email")

8、启动controller 访问路径是 smtp,localhost:8080/simple。

image.png

邮件发送成功

image.png

 

相关文章
|
Java API Spring
Springboot之整合mail
Springboot之整合mail
Springboot之整合mail
|
消息中间件 Java RocketMQ
Springboot 集成 Rocketmq 消费者|学习笔记
快速学习 Springboot 集成 Rocketmq 消费者
1422 1
Springboot 集成 Rocketmq 消费者|学习笔记
|
消息中间件 IDE Java
Springboot 集成 Rocketmq 生产者|学习笔记
快速学习 Springboot 集成 Rocketmq 生产者
783 0
Springboot 集成 Rocketmq 生产者|学习笔记
|
NoSQL 安全 Java
SpringBoot 自动配置的原理|学习笔记
快速学习 SpringBoot 自动配置的原理
177 0
SpringBoot 自动配置的原理|学习笔记
|
SQL 监控 Java
SpringBoot的MyBatis工程配置|学习笔记
快速学习SpringBoot的MyBatis工程配置
225 0
SpringBoot的MyBatis工程配置|学习笔记
|
监控 Java 应用服务中间件
SpringBoot|学习笔记
快速学习SpringBoot
114 0
SpringBoot|学习笔记
|
存储 机器学习/深度学习 IDE
SpringBoot 项目与被开发快速迁移|学习笔记
快速学习 SpringBoot 项目与被开发快速迁移
SpringBoot 项目与被开发快速迁移|学习笔记
|
安全 Java 应用服务中间件
集中式整合之搭建Springboot环境|学习笔记
快速学习集中式整合之搭建Springboot环境
集中式整合之搭建Springboot环境|学习笔记
|
消息中间件 Java 测试技术
SpringBoot 集成 JUNIT 测试下单基本流程|学习笔记
快速学习 SpringBoot 集成 JUNIT 测试下单基本流程
191 0
SpringBoot 集成 JUNIT 测试下单基本流程|学习笔记
|
Java 程序员 应用服务中间件
初识 SpringBoot|学习笔记
快速学习 初识 SpringBoot
127 0
下一篇
无影云桌面