Spring Boot发送QQ邮件
- 1. 创建Spring Boot项目
- 2. 引入发邮件的starter
- 3. 必要配置
- 4. 编写邮件内容
- 5. 测试
- 其他:
Spring Boot简单引入一个包就能轻松发邮件,仅需5分钟就能实现
1. 创建Spring Boot项目
略
2. 引入发邮件的starter
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
3. 必要配置
# 配置 smtp 服务器地址
spring.mail.host=smtp.qq.com
# smtp 服务器的端口
spring.mail.port=587
# 根据自己的邮箱配置账号以及授权码
spring.mail.username=110@qq.com
spring.mail.password=********
spring.mail.properties.from=110@qq.com
spring.mail.default-encoding=UTF-8
注:获取授权码
登录QQ邮箱=》设置=》帐户 =》POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
点击 “服务状态” 后面的 “管理服务”
经过几次手机短信验证后进入下面页面,点击生成授权码即可
4. 编写邮件内容
@Controller
public class MailController {
@Autowired
private JavaMailSenderImpl sender;
@Value("${spring.mail.properties.from}")
private String from;
@Value("${spring.mail.properties.from}")
private String to;
@GetMapping("/mail/send")
public String sendMail() {
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
simpleMailMessage.setFrom(from);
simpleMailMessage.setTo(to);
simpleMailMessage.setSubject("spring boot 发送邮件");
simpleMailMessage.setText("我的第一封邮件!!!");
sender.send(simpleMailMessage);
return "success";
}
}
5. 测试
调用controller发送
其他:
基础概念:
SMTP 全称为 Simple Mail Transfer Protocol(简单邮件传输协议),它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 认证要求必须提供账号和密码才能登陆服务器,其设计目的在于避免用户受到垃圾邮件的侵扰。
IMAP 全称为 Internet Message Access Protocol(互联网邮件访问协议),IMAP 允许从邮件服务器上获取邮件的信息、下载邮件等。IMAP 与 POP 类似,都是一种邮件获取协议。
POP3 全称为 Post Office Protocol 3(邮局协议),POP3 支持客户端远程管理服务器端的邮件。POP3 常用于 “离线” 邮件处理,即允许客户端下载服务器邮件,然后服务器上的邮件将会被删除。目前很多 POP3 的邮件服务器只提供下载邮件功能,服务器本身并不删除邮件,这种属于改进版的 POP3 协议。
IMAP 和 POP3 协议有什么不同呢?
两者最大的区别在于,IMAP 允许双向通信,即在客户端的操作会反馈到服务器上,例如在客户端收取邮件、标记已读等操作,服务器会跟着同步这些操作。而对于 POP 协议虽然也允许客户端下载服务器邮件,但是在客户端的操作并不会同步到服务器上面的,例如在客户端收取或标记已读邮件,服务器不会同步这些操作。