文章目录
- Springboot-cli 开发脚手架系列
- 前言
- 1. 开通发送邮件功能
- 2. 环境配置
- 3. 邮件配置
- 4. 邮件服务
- 5. 效果演示
- 6. 源码分享
前言
本教程分为普通版邮件发送,和自定模板发送。
- 普通发送
内容以字符串的形式发送,样式单一。 - 自定义模块发送
可自定义Html模板,样式丰富,配合thymeleaf绑定变量,实现更自由的数据绑定。
- 这里以QQ邮箱为例
- 打开qq邮箱,切换至账号菜单
- 拉到下面账号安全,开启IMAP/SMTP服务
- 保存这个秘钥
- 接下来我们开始实战案例
- 导入依赖
cn.hutool
hutool-all
5.7.22
com.sun.mail
javax.mail
1.6.2
org.springframework.boot
spring-boot-starter-thymeleaf
- yml配置
email: host: smtp.qq.com from: xxx@qq.com # 密码自行登录邮箱开启获取,操作很简单 pass: xxxxxxxxxxxxxx port: 253. 邮件配置
- EMailConfig.java
@Data
@Component
@ConfigurationProperties(prefix = EMailConfig.PRE)
public class EMailConfig {
public final static String PRE = "email";
private String host;
private Integer port;
private String from ;
private String pass;
public MailAccount getAccount() {
MailAccount account = new MailAccount();
account.setAuth(true);
account.setHost(host);
account.setPort(port);
account.setFrom(from);
account.setUser(from);
account.setPass(pass);
return account;
}
}
4. 邮件服务
- EmailService.java
@Service
@Slf4j
@RequiredArgsConstructor
public class EmailService {
private final EMailConfig eMailConfig;
private final TemplateEngine templateEngine;
public void send(String to, String subject, String content) {
MailUtil.send(eMailConfig.getAccount(), to, subject, content, false);
}
public void send(String to, String subject, String content, File... files) {
MailUtil.send(eMailConfig.getAccount(), to, subject, content, false, files);
}
public void send(String to, String subject, Context context) {
String template = templateEngine.process("emailTemplate", context);
MailUtil.send(eMailConfig.getAccount(), to, subject, template, true);
}
public void send(String to, String subject, Context context, File... files) {
String template = templateEngine.process("emailTemplate", context);
MailUtil.send(eMailConfig.getAccount(), to, subject, template, true, files);
}
}
- 模板文件放置在src/main/resources/templates目录下
激活码
欢迎登录Springboot-cli
您好,您的激活码为,请在5分钟内使用完成操作。
- 整体项目结构
- 编写测试类
@SpringBootTest
class DomeApplicationTests {
@Autowired
private EmailService emailService;
@Test
void send1() {
emailService.send("742740345@qq.com", "测试邮件", "欢迎使用springboot-cli开发脚手架");
}
@Test
void send2() {
File file = new File("D:\test\test.txt");
emailService.send("742740345@qq.com", "测试邮件", "欢迎使用springboot-cli开发脚手架", file);
}
@Test
void send3() {
Context context = new Context();
context.setVariable("code", 6666);
emailService.send("742740345@qq.com", "激活码模板邮件", context);
}
@Test
void send4() {
File file = new File("D:\test\test.txt");
Context context = new Context();
context.setVariable("code", 6666);
emailService.send("742740345@qq.com", "激活码模板邮件", context, file);
}
}
- 普通邮件
- 自定义模板
- Springboot-cli开发脚手架,集合各种常用框架使用案例,完善的文档,致力于让开发者快速搭建基础环境并让应用跑起来。
- 项目源码github地址
- 项目源码国内gitee地址



