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

View File

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

View File

@ -1,10 +1,10 @@
package com.aizuda.snailjob.common.core.alarm.email;
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.nio.charset.Charset;
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.StrUtil;
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.util.Date;
@ -38,6 +41,10 @@ public class Mail implements Builder<MimeMessage> {
* 邮箱帐户信息以及一些客户端配置信息
*/
private final MailAccount mailAccount;
/**
* 正文附件和图片的混合部分
*/
private final Multipart multipart = new MimeMultipart();
/**
* 收件人列表
*/
@ -66,10 +73,6 @@ public class Mail implements Builder<MimeMessage> {
* 是否为HTML
*/
private boolean isHtml;
/**
* 正文附件和图片的混合部分
*/
private final Multipart multipart = new MimeMultipart();
/**
* 是否使用全局会话默认为false
*/
@ -80,19 +83,6 @@ public class Mail implements Builder<MimeMessage> {
*/
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("邮件账号不能为空"));
this.mailAccount = mailAccount;
}
// --------------------------------------------------------------- Constructor start
/**
* 创建邮件客户端
*
* @param mailAccount 邮件帐号
* @return Mail
*/
public static Mail create(MailAccount mailAccount) {
return new Mail(mailAccount);
}
// --------------------------------------------------------------- Constructor end
// --------------------------------------------------------------- Getters and Setters start

View File

@ -1,7 +1,7 @@
package com.aizuda.snailjob.common.core.alarm.email;
import jakarta.mail.Authenticator;
import jakarta.mail.PasswordAuthentication;
import javax.mail.Authenticator;
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.MailAccount;
import com.aizuda.snailjob.common.core.alarm.email.UserPassAuthenticator;
import jakarta.mail.Authenticator;
import jakarta.mail.Session;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import javax.mail.Authenticator;
import javax.mail.Session;
import java.io.File;
import java.io.InputStream;
import java.util.Collection;