springboot 使用QQ邮箱发送邮件的操作方法
作者:Mer_de_sauce 发布时间:2022-03-03 14:36:22
标签:springboot,QQ邮箱,发送邮件
一、QQ邮箱打开POP3/SMTP服务
上面的服务开启后,会得到一串授权密码在springboot配置中需要用到
二、springboot配置
IDE目录
1.在pom.xml添加spring-boot-starter-mail起步依赖
<!-- springboot开发mail项目的起步依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2.在application.properties中配置mail属性
#静态资源映射,localhost:8080/ == /resources
spring.resources.static-locations=classpath:META-INF/resources/,classpath:static/,classpath:templates/
#https://blog.csdn.net/jawhiow/article/details/82625842
#如果原先访问首页的地址是:http://localhost:8888/index.html 那么在你配置这个配置后,http://localhost:8888/default/index.html
spring.mvc.static-path-pattern=/*
# 设置邮箱主机
spring.mail.host=smtp.qq.com
# 设置用户名
spring.mail.username=xxxxxx@qq.com
# 设置密码,该处的密码是QQ邮箱开启SMTP的授权码而非QQ密码
spring.mail.password=xxxxxx
# 设置是否需要认证,如果为true,那么用户名和密码就必须的,
# 如果设置false,可以不设置用户名和密码,当然也得看你的对接的平台是否支持无密码进行访问的。
spring.mail.properties.mail.smtp.auth=true
# STARTTLS[1] 是对纯文本通信协议的扩展。它提供一种方式将纯文本连接升级为加密连接(TLS或SSL),而不是另外使用一个端口作加密通信。
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.properties.mail.smtp.ssl.enable=true
spring.mail.port=465
3.编写controller文件
@Controller
public class EmailController {
@Autowired
private JavaMailSender javaMailSender;
@RequestMapping("/")
public void index(HttpServletRequest request, HttpServletResponse response) throws IOException {
System.out.println("index.html");
response.sendRedirect("/index.html");
}
@ResponseBody
@RequestMapping("/emailSend")
public String emailSend(@RequestParam(value = "email") String eamil){
System.out.println(eamil);
String content = "1234";
try{
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom("xxxxxx@qq.com");
message.setTo(eamil);
message.setSubject("主题:主题内容");
message.setText(content);
//发送邮件
javaMailSender.send(message);
System.out.println(eamil+"发送成功");
}catch (Exception e){
return "fail";
}
return "success";
}
}
4.编写网页页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>邮件</title>
</head>
<body>
<form action="/emailSend">
邮箱:<input type="text" name="email" value="xxxxxx@qq.com">
<input type="submit">
</form>
</body>
</html>
5.发送成功
来源:https://blog.csdn.net/qq_40833874/article/details/120676848


猜你喜欢
- 本文实例讲述了C#实现向函数传递不定参数的方法。分享给大家供大家参考。具体实现方法如下:using System;class Min{ pu
- 先新建一个文件夹kun,kun就是类所在的package。新建一个java文件。HelloWorld.java的代码如下:package k
- 要求:用DateTimeFormatter实现: 用扫描器获取输入的时间(年月日时分),这个时间的格式是常用的格式,然后格式化这个时间,把格
- 这里我们通过Apache Commons CLI来完成目标功能,废话不多说直接上代码所需的maven依赖<dependency>
- 目录一、复习二、两者对比三、在什么情况下才会使用volatile四、Java中的原子性操作五、Java中的CAS操作六、ABA问题七、Uns
- 本文实例为大家分享了C#访问共享文件夹或者磁盘的具体代码,供大家参考,具体内容如下SharedTool:using System; &nbs
- 有时候数据库文档需要整理,可是只能手动的复制粘贴,心中一万只草泥马奔腾而过。。。screw简洁好用的数据库表结构文档生成工具。1. 创建项目
- 过滤器实现过滤器需要实现 javax.servlet.Filter 接口。重写三个方法。其中 init() 方法在服务启动时执行,destr
- Parallel类是对线程的一个抽象。该类位于System.Threading.Tasks名称空间中,提供了数据和任务并行性。Paralle
- LRU算法:最近最少使用淘汰算法(Least Recently Used)。LRU是淘汰最长时间没有被使用的缓存(即使该缓存被访问的次数最多
- 虽然文章的标题是词法分析,但首先还是要从编译原理说开来。编译原理应该很多人都听说过,虽然不一定会有多么了解。简单的说,编译原理就是研究如何进
- 前言有人说Gradle使用groovy语言编写,简单,明了没像maven使用xml臃肿,其实我倒不觉得,我觉得maven挺好的,管理jar依
- 在上篇文章给大家介绍了使用Java8 实现观察者模式的方法(上),本文继续给大家介绍java8观察者模式相关知识,具体内容如下所述:线程安全
- 1.Java集合框架是什么?说出一些集合框架的优点?每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、Ha
- 作为.net程序员,我们每天都要和BCL(Base Class Linbrary)打交道。无疑,BCL做为一个年轻的框架类库,她是成功的,但
- 前言在服务器上,当我们启动了tomcat,就可以以http://ip地址:8080/文件路径/文件名的方式,进行访问到我们服务器上处于tom
- 我们在j2ee当中,连接数据库的时候经常会用到properties配置文件,我们原来在eclipse或者myeclipse当中会在src文件
- 本文详细总结了Android编程开发之性能优化技巧。分享给大家供大家参考,具体如下:1.http用gzip压缩,设置连接超时时间和响应超时时
- 本文实例讲述了C#自定义缓存封装类。分享给大家供大家参考。具体如下:这个自定义的C#类封装了部分常用的缓存操作,包括写入缓存,读取缓存,设置
- 本文实例讲述了C#使用listView增删操作的方法。分享给大家供大家参考。具体分析如下:应用场景: C#中使用listView控件,实现动