bbottema/simple-java-mail
基于 Jakarta Mail 封装的 Java 邮件库,通过简洁的构建器 API 生成并经 SMTP 发送标准 MIME 邮件。
- Star
- 1,293
- Fork
- 275
- 未关闭 Issue
- 18
- 最近提交
- 昨天
这是什么?
Simple Java Mail 是一个用于构建和发送邮件的 Java 库。它通过链式构建器 API 生成格式规范的 MIME 邮件,支持纯文本与 HTML 双版本、内嵌图片、附件、日历内容和自定义邮件头。默认收件人、强制覆盖项、退信地址、邮件大小上限等共用规则可以在一个可复用的 Mailer 实例上统一配置,而不必在每处调用时重复设置。
库内处理传输与安全相关事务,包括 TLS 和 SMTPS、证书校验、OAuth2 令牌、邮件头注入防护、DKIM 签名和 S/MIME。它还提供同步与异步发送、批量发送、连接池和 SMTP 集群,并支持连接测试和邮件校验等诊断功能。底层基于 Jakarta Mail 与 Angus Mail,因此仍可使用自定义 Session 或原生 Jakarta Mail 属性。
可选模块提供 DKIM、S/MIME、批量投递、带认证的 SOCKS 代理、Outlook .msg 转换、Spring 配置、命令行发送以及 OSGi/Karaf 支持。项目面向 Java 8 及以上版本,并发布在 Maven Central。
核心功能
- 01生成包含纯文本与 HTML 双版本、内嵌图片和附件的 MIME 邮件。
- 02在可复用的 Mailer 上统一配置默认值与强制覆盖项。
- 03支持 TLS/SMTPS、OAuth2 令牌、DKIM 签名和 S/MIME。
- 04提供连接测试与邮件校验,便于排查发送问题。
- 05可在 Email、MimeMessage 和 EML 格式之间转换。
适用场景
- 在 Java 后端发送交易类或通知类邮件。
- 为 Java 应用的外发邮件添加 DKIM 或 S/MIME 签名。
- 通过 Spring 模块将邮件发送集成到 Spring Boot 服务中。
- 利用连接池或 SMTP 集群进行批量邮件发送。
快速上手
- 1
在项目中添加核心 Maven 依赖
<dependency> <groupId>org.simplejavamail</groupId> <artifactId>simple-java-mail</artifactId> <version>9.3.9</version> </dependency> - 2
或者改为添加核心 Gradle 依赖
implementation 'org.simplejavamail:simple-java-mail:9.3.9' - 3
构建 Email 并通过为你的 SMTP 服务器配置的 Mailer 发送
使用前须知
- 需要 Java 8 及以上运行环境,并需要可用的 SMTP 服务器才能发送邮件。
标签
常见问题
- simple-java-mail 是什么?
- 基于 Jakarta Mail 封装的 Java 邮件库,通过简洁的构建器 API 生成并经 SMTP 发送标准 MIME 邮件。 Simple Java Mail 是一个用于构建和发送邮件的 Java 库。它通过链式构建器 API 生成格式规范的 MIME 邮件,支持纯文本与 HTML 双版本、内嵌图片、附件、日历内容和自定义邮件头。默认收件人、强制覆盖项、退信地址、邮件大小上限等共用规则可以在一个可复用的 Mailer 实例上统一配置,而不必在每处调用时重复设置。
- simple-java-mail 可以免费使用吗?用的什么许可证?
- simple-java-mail 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- simple-java-mail 还在维护吗?
- 活跃维护中。simple-java-mail 最近一次提交是在 2026年11月6日。
- simple-java-mail 适合用来做什么?
- 在 Java 后端发送交易类或通知类邮件。 为 Java 应用的外发邮件添加 DKIM 或 S/MIME 签名。 通过 Spring 模块将邮件发送集成到 Spring Boot 服务中。 利用连接池或 SMTP 集群进行批量邮件发送。
- simple-java-mail 怎么安装和运行?
- 在项目中添加核心 Maven 依赖: <dependency> <groupId>org.simplejavamail</groupId> <artifactId>simple-java-mail</artifactId> <version>9.3.9</version> </dependency> 或者改为添加核心 Gradle 依赖: implementation 'org.simplejavamail:simple-java-mail:9.3.9' 构建 Email 并通过为你的 SMTP 服务器配置的 Mailer 发送
- 在哪里获取 simple-java-mail?
- 源代码和安装说明在 GitHub 上:https://github.com/bbottema/simple-java-mail
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一款用 Go 编写的功能完整、注重安全的邮件服务器,便于自托管个人域名邮箱并降低维护成本。
基于 Node.js 的高扩展性 SMTP 邮件服务器,通过插件体系扩展功能。
单文件部署的私有邮件服务器,支持 SMTP、POP3、IMAP 收发信,并自带网页端邮箱管理。