-
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,暫時沒有對應的實作包。