技术派整合邮件服务实现邮件发送
选中新版正文中的对应文字,然后点“定位到这里”。
虽然技术派没有支持邮箱的方式进行登录,但是它还是整合了邮箱服务的,主要用于异常的报警;基于error日志,来实现异常日志输出时,触发邮箱报警的钩子,从而将异常堆栈推送给管理人员,基于此搭建了一个零成本的报警服务
在具体的学习上面这个日志报警的设计实现之前,我们有必要先补一下课,如何给自己的服务接入邮箱服务,如何使用邮箱服务来发送邮件
使用实例
邮箱服务封装类
首先在技术派项目中,全局搜索关键字Email,来定位具体的使用地方

如上图,可以很快获取到关键类 EmailUtil
我们可以简单看一下具体实现
@Slf4j
public class EmailUtil {
private static volatile String from;
public static String getFrom() {
if (from == null) {
synchronized (EmailUtil.class) {
if (from == null) {
from = SpringUtil.getConfig("spring.mail.from", "xhhuiblog@163.com");
}
}
}
return from;
}
/**
* springboot-email封装的发送邮件
*
* @param title
* @param to
* @param content
* @return
*/
public static boolean sendMail(String title, String to, String content) {
try {
JavaMailSender javaMailSender = SpringUtil.getBean(JavaMailSender.class);
MimeMessage mimeMailMessage = javaMailSender.createMimeMessage();
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMailMessage, true);
mimeMessageHelper.setFrom(getFrom());
mimeMessageHelper.setTo(to);
mimeMessageHelper.setSubject(title);
//邮件内容,第二个参数设置为true,支持html模板
mimeMessageHelper.setText(content, true);
// 解决 JavaMailSender no object DCH for MIME type multipart/mixed 问题
// 详情参考:[Email发送失败问题记录 - 一灰灰Blog](https://blog.hhui.top/hexblog/2021/10/28/211028-Email%E5%8F%91%E9%80%81%E5%A4%B1%E8%B4%A5%E9%97%AE%E9%A2%98%E8%AE%B0%E5%BD%95/)
Thread.currentThread().setContextClassLoader(EmailUtil.class.getClassLoader());
javaMailSender.send(mimeMailMessage);
return true;
} catch (Exception e) {
log.warn("sendEmail error {}@{}, {}", title, to...未能定位到原文的划线
已加入星球,可直接知识星球授权登录
二哥编程星球目前包含:
企业级Agent工作流编排项目PaiFlow
Vibe Coding版本的PaiAgent
派聪明RAG AI知识库Java版本+Go版本
微服务 PmHub、技术派、MYDB
求职派JobClaw(OpenClaw/Hermes架构
PaiCLI(类似Claude Code的Agent
派简历(代码已完成)
等实战项目。
企业级Agent工作流编排项目PaiFlow
Vibe Coding版本的PaiAgent
派聪明RAG AI知识库Java版本+Go版本
微服务 PmHub、技术派、MYDB
求职派JobClaw(OpenClaw/Hermes架构
PaiCLI(类似Claude Code的Agent
派简历(代码已完成)
等实战项目。
1. 微信扫右侧的优惠券加入知识星球
2. 解锁星球的实战项目教程和源码: 项目源码+教程获取
真诚点赞 诚不我欺
回复