You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaMail插件发送邮件报错:ClassNotFoundException: com.sun.mail.util.MailLogger

解决JavaMail发送邮件时com.sun.mail.util.MailLogger类找不到的问题

嘿,这个问题其实很常见——你现在的依赖配置只拿了JavaMail的API壳子,没装实际干活的实现包!

问题根源

你pom里引入的javax.mail-api只是JavaMail的接口定义,里面没有任何实际运行的代码,而com.sun.mail.util.MailLogger是JavaMail官方参考实现里的类,这个实现包你没加,自然会报ClassNotFound。之前能正常运行大概率是因为其他依赖间接帮你引入了实现包,更新插件后这个传递依赖丢失了,所以现在必须显式声明。

具体修复方案

  1. 先把你当前的javax.mail-api依赖删掉,换成完整的JavaMail实现包:
    <!-- 替换原来的javax.mail-api依赖 -->
    <dependency>
        <groupId>com.sun.mail</groupId>
        <artifactId>javax.mail</artifactId>
        <version>1.6.2</version> <!-- 这个版本完美适配Java 8,和你的环境匹配 -->
    </dependency>
    
  2. 另外你的activation依赖版本太老了,换成和JavaMail匹配的新版本更稳妥:
    <!-- 替换旧的activation依赖 -->
    <dependency>
        <groupId>com.sun.activation</groupId>
        <artifactId>javax.activation</artifactId>
        <version>1.2.0</version>
    </dependency>
    

额外提醒

如果你的插件是用Maven打包的(比如用shade插件),一定要确认这些依赖被正确打包到最终的jar文件里,避免运行时再次出现类找不到的问题。

内容的提问来源于stack exchange,提问作者Q_Q

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:03:54