- javax mail api
该包只有接口,没有实现类,不能单独运行。
maven仓库坐标及版本:
<!-- https://mvnrepository.com/artifact/javax.mail/javax.mail-api -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>1.6.2</version>
</dependency>
1.4.4-1.4.7,1.5.0-1.5.6,1.6.0-1.6.2:为老版本mail api,已经过时停止。
- jakarta mail api
该包只有接口,没有实现类,不能单独运行。
maven仓库坐标及版本:
<!-- https://mvnrepository.com/artifact/jakarta.mail/jakarta.mail-api -->
<dependency>
<groupId>jakarta.mail</groupId>
<artifactId>jakarta.mail-api</artifactId>
<version>2.1.0</version>
</dependency>
1.6.3-1.6.7版本:与javax.mail-api一样,包结构未变化,只是包名称和坐标发生了变化。已经过时停。
版本2.0.0,2.0.1,2.1.0:包名由javax.mail变化为了jakarta.mail,为现在的主流版本。其中2.1.0版本的最低jdk要求为11
注意,因包名变化,jakarta mail api 1.6.X版本与2.X+版本不兼容。
- spring mail
spring mail为javax.mail的实现,其代码位于spring-context-support包中。
截止到目前为止(5.3.21版本)spring mail都是实现的javax.mail包的api,没有实现jakarta.mail包中的api。单独使用时,需要引入javax.mail-api包(或jakarta.mail-api的1.6.X版本)
spring-boot-starter-mail也是使用的spring-context-support发送邮件。自动依赖了javax.mail api包。
- sun javax mail
该包为javax.mail-api的实现包,jar包内部包含了javax.mail-api的所有类,因此直接引用此实现包时,可以不需要单独引入javax.mail-api包,当前已过时停止
maven仓库坐标及版本:
<!-- https://mvnrepository.com/artifact/com.sun.mail/javax.mail -->
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
版本为1.4.4-1.4.7,1.5.0-1.5.6,1.6.0-1.6.2,与javax.mail-api的版本一一对应。
- sun jakarta mail
该包为jakarta mail api的实现包,jar包内部包含了jakarta.mail-api的所有类,因此直接引用此实现包时,可以不需要单独引入jakarta.mail-api包。为现在的主流版本。
maven仓库坐标及版本:
<!-- https://mvnrepository.com/artifact/com.sun.mail/jakarta.mail -->
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>jakarta.mail</artifactId>
<version>2.0.1</version>
</dependency>
版本为2.0.0,2.0.1,与jakarta.mail-api的版本一一对应。
目前暂时未发布2.1.0的版本,也就是说2.1.0版本的jakarta.mail-api,暂时没有对应的实现包。
java mail 包说明
于 2022-06-18 10:43:20 首次发布