SpringBoot整合Email
SpringBoot整合邮件发送功能
引入依赖
copy<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency>
邮箱配置
发送简单邮件
copy@Service public class MailService { @Resource private JavaMailSender mailSender; @Value("${spring.mail.username}") private String fromEmail; /** * 发送文本邮件 */ public void sendSimpleMail(String to, String subject, String content) { SimpleMailMessage message = new SimpleMailMessage(); message.setFrom(fromEmail); message.setTo(to); message.setSubject(subject); message.setText(content); mailSender.send(message); } }
sendSimpleMail的三个参数依次是:邮件的发送目标,邮件的标题,邮件的内容。
test测试代码
copy@RunWith(SpringRunner.class) @SpringBootTest public class MailServiceTest { @Autowired MailService mailService; @Test public void sendSimpleMail() { mailService.sendSimpleMail("951687336@qq.com", "普通文本邮件", "普通文本邮件内容测试"); } }
controller中代码测试
copy@Controller public class WireTest { @Autowired private MailService mailService; @RequestMapping("test") @ResponseBody public String emailTest(){ mailService.sendSimpleMail("951687336@qq.com", "普通文本邮件", "普通文本邮件内容测试"); return "success"; } }
发送html邮件
发送普通的文本文件邮件,使用的是SimpleMailMessage
发送的正文是HTML的邮件,使用的是MimeMessage
copy/** * 发送html邮件 */ public void sendHtmlMail(String to, String subject, String content) throws MessagingException { //注意这里使用的是MimeMessage MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setFrom(fromEmail); helper.setTo(to); helper.setSubject(subject); //第二个参数是否是html,true表示发送的邮件正文是html文本 helper.setText(content, true); mailSender.send(message); }
测试
copy@Test public void sendHtmlMail() throws MessagingException { mailService.sendHtmlMail("431899405@qq.com","一封html测试邮件","<body style=\"text-align: center;margin-left: auto;margin-right: auto;\">\n" + " <div id=\"welcome\" style=\"text-align: center;position: absolute;\" >\n" +" <h3>\"一封html测试邮件\"</h3>\n" +" <span>http://www.zimug.com</span>" + " <div style=\"text-align: center; padding: 10px\"><a style=\"text-decoration: none;\" href=\"https://zimug.com\" target=\"_bank\" >" + " <strong>我很用心,希望你有所收获</strong></a></div>\n" + " </div>\n" + "</body>"); }
I can feel you forgetting me。。 有一种默契叫做我不理你,你就不理我
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
2019-02-20 django之restframework使用 (二)视图三部曲
2019-02-20 django之restframework使用 (一)