使用spring boot发送邮件
2023-09-14 09:00:00 时间
1.添加依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> <version>2.1.8.RELEASE</version> </dependency>
2.配置
开启POP3/SMTP服务
设置授权码
application.properties的配置
spring.mail.host=smtp.126.com spring.mail.username= XXX@XX.com #邮箱 spring.mail.password= XXXXXXXX #授权码 spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true spring.mail.properties.mail.smtp.starttls.required=true
3.发送邮件的Service
SendEmailService.java
package com.tydt.bim.service; import com.tydt.bim.common.Tasks; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Service; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; @Service public class SendEmailService { @Autowired JavaMailSender jms; private final Logger logger = LoggerFactory.getLogger(SendEmailService.class); public String send(String sender,String receiver,String title,String text){ try{ //建立邮件消息 MimeMessage message = jms.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message,true); //发送方 helper.setFrom(sender); //接收方 helper.setTo(receiver); //发送的标题 helper.setSubject(title); //发送的内容 helper.setText(text,true); jms.send(message); }catch (MessagingException e){ logger.error(e.getMessage()); } return "success"; } }
4.测试
package com.tydt.bim.controller; import com.tydt.bim.service.SendEmailService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; @RestController public class DemoController { @Resource private SendEmailService sendEmailService; @GetMapping("/sendMail") public String send() { String sender = "chaoyue_@126.com"; String receiver = "344381715@qq.com"; String title = "服务提醒"; String text = ""; StringBuffer textTmp = new StringBuffer(); textTmp.append("<html>\n"); textTmp.append("<body>\n"); textTmp.append("<h2>XXXXXXXXXX</h2>\n"); textTmp.append("XXXXXXXXXXXXXXXXXXXX\n"); textTmp.append("</body>\n"); textTmp.append("</html>"); text = textTmp.toString(); String result = sendEmailService.send(sender, receiver, title, text); return result; } }
相关文章
- Spring Boot Profile使用
- eclipse安装spring tool suite插件
- maven工程使用spring-boot-devtools进行热部署,更改代码避免重启web容器
- 【Spring Boot】Spring Boot之使用ImportSelector类实现动态注册Bean
- 【Spring Boot】Spring Boot之自定义拦截器
- spring boot: thymeleaf模板引擎使用
- spring: 在Spring应用中使用JDBC(使用profiles选择数据源/使用基于JDBC驱动的数据源)
- spring boot: Annotation 注解之@Target的用法介绍
- spring task 配置
- spring boot:shardingsphere+druid整合seata分布式事务(spring boot 2.3.3)
- spring boot:用redis+lua限制短信验证码的发送频率(spring boot 2.3.2)
- Spring Boot——2分钟构建spring web mvc REST风格HelloWorld
- spring boot:spring security实现oauth2+jwt管理认证授权及oauth2返回结果格式化(spring boot 2.3.3)
- spring boot:用redis+lua限制短信验证码的发送频率(spring boot 2.3.2)
- Spring 集成 redistemplate
- 【springboot系列】Spring Boot 实现接口幂等性的 4 种方案
- 毕业设计 Spring Boot的汽车租赁系统(含源码+论文)
- 009-Spring Boot全局配置跨域请求支持
- 001-Spring Cloud Edgware.SR3 升级最新 Finchley.SR1,spring boot 1.5.9.RELEASE 升级2.0.4.RELEASE注意问题点
- 009-Spring Boot 事件监听、监听器配置与方式、spring、Spring boot内置事件
- 在Spring中使用Redis
- 【springboot异步处理】Spring Boot + @Async