fix(1.2.0-beta3-jdk8): jakarta.mail 使用 com.sun.mail/jakarta.mail@1.x 兼容 springboot 2.x; 删除jakarta.mail-api,jakarta.activation-api

This commit is contained in:
dhb52 2024-11-09 22:48:14 +08:00
parent 46d13163d9
commit 21bc50e8ab
6 changed files with 41 additions and 58 deletions

16
pom.xml
View File

@ -35,9 +35,7 @@
<log4j.version>1.2.17</log4j.version> <log4j.version>1.2.17</log4j.version>
<commons-logging.version>1.3.4</commons-logging.version> <commons-logging.version>1.3.4</commons-logging.version>
<jakarta-validation.version>2.0.2</jakarta-validation.version> <jakarta-validation.version>2.0.2</jakarta-validation.version>
<jakarta-mail-api.version>2.1.3</jakarta-mail-api.version> <jakarta-mail.version>1.6.7</jakarta-mail.version>
<jakarta-mail.version>2.0.3</jakarta-mail.version>
<jakarta-activation-api.version>2.1.3</jakarta-activation-api.version>
<guava.version>32.0.0-jre</guava.version> <guava.version>32.0.0-jre</guava.version>
</properties> </properties>
@ -163,20 +161,10 @@
<version>${jakarta-validation.version}</version> <version>${jakarta-validation.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>jakarta.mail</groupId> <groupId>com.sun.mail</groupId>
<artifactId>jakarta.mail-api</artifactId>
<version>${jakarta-mail-api.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.angus</groupId>
<artifactId>jakarta.mail</artifactId> <artifactId>jakarta.mail</artifactId>
<version>${jakarta-mail.version}</version> <version>${jakarta-mail.version}</version>
</dependency> </dependency>
<dependency>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
<version>${jakarta-activation-api.version}</version>
</dependency>
<dependency> <dependency>
<groupId>com.github.rholder</groupId> <groupId>com.github.rholder</groupId>
<artifactId>guava-retrying</artifactId> <artifactId>guava-retrying</artifactId>

View File

@ -40,17 +40,9 @@
<artifactId>jakarta.validation-api</artifactId> <artifactId>jakarta.validation-api</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>jakarta.mail</groupId> <groupId>com.sun.mail</groupId>
<artifactId>jakarta.mail-api</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.angus</groupId>
<artifactId>jakarta.mail</artifactId> <artifactId>jakarta.mail</artifactId>
</dependency> </dependency>
<dependency>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
</dependency>
<dependency> <dependency>
<groupId>com.googlecode.aviator</groupId> <groupId>com.googlecode.aviator</groupId>
<artifactId>aviator</artifactId> <artifactId>aviator</artifactId>

View File

@ -1,10 +1,10 @@
package com.aizuda.snailjob.common.core.alarm.email; package com.aizuda.snailjob.common.core.alarm.email;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import jakarta.mail.internet.AddressException;
import jakarta.mail.internet.InternetAddress;
import jakarta.mail.internet.MimeUtility;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeUtility;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import java.util.ArrayList; import java.util.ArrayList;

View File

@ -9,18 +9,21 @@ import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.aizuda.snailjob.common.core.util.MailUtils; import com.aizuda.snailjob.common.core.util.MailUtils;
import jakarta.activation.DataHandler;
import jakarta.activation.DataSource;
import jakarta.activation.FileDataSource;
import jakarta.activation.FileTypeMap;
import jakarta.mail.*;
import jakarta.mail.internet.MimeBodyPart;
import jakarta.mail.internet.MimeMessage;
import jakarta.mail.internet.MimeMultipart;
import jakarta.mail.internet.MimeUtility;
import jakarta.mail.util.ByteArrayDataSource;
import java.io.*; import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.activation.FileTypeMap;
import javax.mail.*;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;
import javax.mail.util.ByteArrayDataSource;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import java.util.Date; import java.util.Date;
@ -38,6 +41,10 @@ public class Mail implements Builder<MimeMessage> {
* 邮箱帐户信息以及一些客户端配置信息 * 邮箱帐户信息以及一些客户端配置信息
*/ */
private final MailAccount mailAccount; private final MailAccount mailAccount;
/**
* 正文附件和图片的混合部分
*/
private final Multipart multipart = new MimeMultipart();
/** /**
* 收件人列表 * 收件人列表
*/ */
@ -66,10 +73,6 @@ public class Mail implements Builder<MimeMessage> {
* 是否为HTML * 是否为HTML
*/ */
private boolean isHtml; private boolean isHtml;
/**
* 正文附件和图片的混合部分
*/
private final Multipart multipart = new MimeMultipart();
/** /**
* 是否使用全局会话默认为false * 是否使用全局会话默认为false
*/ */
@ -80,19 +83,6 @@ public class Mail implements Builder<MimeMessage> {
*/ */
private PrintStream debugOutput; private PrintStream debugOutput;
/**
* 创建邮件客户端
*
* @param mailAccount 邮件帐号
* @return Mail
*/
public static Mail create(MailAccount mailAccount) {
return new Mail(mailAccount);
}
// --------------------------------------------------------------- Constructor start
/** /**
* 构造 * 构造
* *
@ -102,6 +92,19 @@ public class Mail implements Builder<MimeMessage> {
Assert.notNull(mailAccount, () -> new MailException("邮件账号不能为空")); Assert.notNull(mailAccount, () -> new MailException("邮件账号不能为空"));
this.mailAccount = mailAccount; this.mailAccount = mailAccount;
} }
// --------------------------------------------------------------- Constructor start
/**
* 创建邮件客户端
*
* @param mailAccount 邮件帐号
* @return Mail
*/
public static Mail create(MailAccount mailAccount) {
return new Mail(mailAccount);
}
// --------------------------------------------------------------- Constructor end // --------------------------------------------------------------- Constructor end
// --------------------------------------------------------------- Getters and Setters start // --------------------------------------------------------------- Getters and Setters start

View File

@ -1,7 +1,7 @@
package com.aizuda.snailjob.common.core.alarm.email; package com.aizuda.snailjob.common.core.alarm.email;
import jakarta.mail.Authenticator; import javax.mail.Authenticator;
import jakarta.mail.PasswordAuthentication; import javax.mail.PasswordAuthentication;
/** /**
* 用户名密码验证器 * 用户名密码验证器

View File

@ -8,11 +8,11 @@ import cn.hutool.core.util.StrUtil;
import com.aizuda.snailjob.common.core.alarm.email.Mail; import com.aizuda.snailjob.common.core.alarm.email.Mail;
import com.aizuda.snailjob.common.core.alarm.email.MailAccount; import com.aizuda.snailjob.common.core.alarm.email.MailAccount;
import com.aizuda.snailjob.common.core.alarm.email.UserPassAuthenticator; import com.aizuda.snailjob.common.core.alarm.email.UserPassAuthenticator;
import jakarta.mail.Authenticator;
import jakarta.mail.Session;
import lombok.AccessLevel; import lombok.AccessLevel;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import javax.mail.Authenticator;
import javax.mail.Session;
import java.io.File; import java.io.File;
import java.io.InputStream; import java.io.InputStream;
import java.util.Collection; import java.util.Collection;