springboot整合mail邮箱发送
1.项目框架结构图
2.pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.wpf</groupId>
<artifactId>springboot_email</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
</dependencies>
</project>
2.application.yml
server:
port: 8080
spring:
freemarker:
suffix: .html
cache: false
template-loader-path: classpath:/templates
mail:
host: smtp.163.com
username: #用来发送的邮箱账号
password: #邮箱密码
3.1个实体类,email
package com.wpf.pojo;
public class Email {
//接收者邮箱
private String email;
//邮件主题
private String title;
//邮件内容
private String context;
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContext() {
return context;
}
public void setContext(String context) {
this.context = context;
}
}
4.controller 核心代码
@Controller
public class EamilController {
@Autowired
private JavaMailSender javaMailSender;
//从配置文件中获取登录的邮箱账号作为发送者邮箱
@Value("${spring.mail.username}")
private String FromEmail;
@RequestMapping("/sendEmail")
@ResponseBody
public String sendEmail(Email email){
SimpleMailMessage message = new SimpleMailMessage(); //创建一封邮件
message.setFrom(FromEmail); //发送者邮箱
message.setTo(email.getEmail()); //接收者邮箱
message.setSubject(email.getTitle()); //邮件的标题
message.setText(email.getContext()); //邮件内容
javaMailSender.send(message); //发送
return "发送成功!";
}
//进入index页面
@RequestMapping("/index.html")
public String index(){
return "index";
}
}
5.基本web测试页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/sendEmail" method="post">
接收邮箱:<input type="text" name="email"><br>
标题:<input type="text" name="title"><br>
内容:<textarea name="context" id="" cols="30" rows="10"></textarea><br>
<input type="submit" value="发送">
</form>
</body>
</html>
项目源码:https://download.csdn.net/download/weixin_42460179/10729181