diff --git a/pom.xml b/pom.xml
index 15ccf4b2e..683590a16 100644
--- a/pom.xml
+++ b/pom.xml
@@ -115,6 +115,11 @@
hutool-crypto
${hutool-all.version}
+
+ cn.hutool
+ hutool-core
+ ${hutool-all.version}
+
com.aizuda
snail-job-client-retry-core
diff --git a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/GlobalMailAccount.java b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/GlobalMailAccount.java
deleted file mode 100644
index 9cdfa6105..000000000
--- a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/GlobalMailAccount.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.aizuda.snailjob.common.core.alarm.email;
-
-import cn.hutool.core.io.IORuntimeException;
-
-/**
- * 全局邮件帐户,依赖于邮件配置文件{@link MailAccount#MAIL_SETTING_PATHS}
- *
- * @author looly
- */
-public enum GlobalMailAccount {
- INSTANCE;
-
- private final MailAccount mailAccount;
-
- /**
- * 构造
- */
- GlobalMailAccount() {
- mailAccount = createDefaultAccount();
- }
-
- /**
- * 获得邮件帐户
- *
- * @return 邮件帐户
- */
- public MailAccount getAccount() {
- return this.mailAccount;
- }
-
- /**
- * 创建默认帐户
- *
- * @return MailAccount
- */
- private MailAccount createDefaultAccount() {
- for (String mailSettingPath : MailAccount.MAIL_SETTING_PATHS) {
- try {
- return new MailAccount(mailSettingPath);
- } catch (IORuntimeException ignore) {
- //ignore
- }
- }
- return null;
- }
-}
diff --git a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/Mail.java b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/Mail.java
index 17cebd2ea..238f57b53 100644
--- a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/Mail.java
+++ b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/Mail.java
@@ -4,6 +4,7 @@ import cn.hutool.core.builder.Builder;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.io.IoUtil;
+import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
@@ -22,6 +23,7 @@ import jakarta.mail.util.ByteArrayDataSource;
import java.io.*;
import java.nio.charset.Charset;
import java.util.Date;
+import java.util.Objects;
/**
* 邮件发送客户端
@@ -89,32 +91,17 @@ public class Mail implements Builder {
return new Mail(mailAccount);
}
- /**
- * 创建邮件客户端,使用全局邮件帐户
- *
- * @return Mail
- */
- public static Mail create() {
- return new Mail();
- }
// --------------------------------------------------------------- Constructor start
- /**
- * 构造,使用全局邮件帐户
- */
- public Mail() {
- this(GlobalMailAccount.INSTANCE.getAccount());
- }
-
/**
* 构造
*
- * @param mailAccount 邮件帐户,如果为null使用默认配置文件的全局邮件配置
+ * @param mailAccount 邮件帐户
*/
public Mail(MailAccount mailAccount) {
- mailAccount = (null != mailAccount) ? mailAccount : GlobalMailAccount.INSTANCE.getAccount();
- this.mailAccount = mailAccount.defaultIfEmpty();
+ Assert.notNull(mailAccount, () -> new MailException("邮件账号不能为空"));
+ this.mailAccount = mailAccount;
}
// --------------------------------------------------------------- Constructor end
diff --git a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/MailAccount.java b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/MailAccount.java
index f144c24e5..1eb838ad7 100644
--- a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/MailAccount.java
+++ b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/MailAccount.java
@@ -3,7 +3,6 @@ package com.aizuda.snailjob.common.core.alarm.email;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
-import cn.hutool.setting.Setting;
import java.io.Serial;
import java.io.Serializable;
@@ -39,14 +38,10 @@ public class MailAccount implements Serializable {
// System Properties
private static final String SPLIT_LONG_PARAMS = "mail.mime.splitlongparameters";
- //private static final String ENCODE_FILE_NAME = "mail.mime.encodefilename";
- //private static final String CHARSET = "mail.mime.charset";
// 其他
private static final String MAIL_DEBUG = "mail.debug";
- public static final String[] MAIL_SETTING_PATHS = new String[]{"config/mail.setting", "config/mailAccount.setting", "mail.setting"};
-
/**
* SMTP服务器域名
*/
@@ -142,23 +137,6 @@ public class MailAccount implements Serializable {
public MailAccount() {
}
- /**
- * 构造
- *
- * @param settingPath 配置文件路径
- */
- public MailAccount(String settingPath) {
- this(new Setting(settingPath));
- }
-
- /**
- * 构造
- *
- * @param setting 配置文件
- */
- public MailAccount(Setting setting) {
- setting.toBean(this);
- }
// -------------------------------------------------------------- Constructor end
diff --git a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/strategy/EmailAlarm.java b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/strategy/EmailAlarm.java
index 4809a95ae..7effc4d30 100644
--- a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/strategy/EmailAlarm.java
+++ b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/strategy/EmailAlarm.java
@@ -1,22 +1,14 @@
package com.aizuda.snailjob.common.core.alarm.strategy;
-import com.aizuda.snailjob.common.core.alarm.SnailJobAlarmFactory;
import com.aizuda.snailjob.common.core.alarm.attribute.EmailAttribute;
import com.aizuda.snailjob.common.core.alarm.email.MailAccount;
import com.aizuda.snailjob.common.core.alarm.email.MailProperties;
-import com.aizuda.snailjob.common.core.context.SpringContext;
import com.aizuda.snailjob.common.core.util.MailUtils;
import com.aizuda.snailjob.common.core.enums.AlarmTypeEnum;
import com.aizuda.snailjob.common.core.alarm.AlarmContext;
import com.aizuda.snailjob.common.core.util.JsonUtil;
import com.aizuda.snailjob.common.log.SnailJobLog;
import lombok.RequiredArgsConstructor;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.context.annotation.DependsOn;
-import org.springframework.context.annotation.Lazy;
-import org.springframework.core.env.Environment;
-import org.springframework.core.env.StandardEnvironment;
import org.springframework.stereotype.Component;
import java.util.List;
diff --git a/snail-job-common/snail-job-common-log/pom.xml b/snail-job-common/snail-job-common-log/pom.xml
index 23d0cd0f7..9a8ca31ce 100644
--- a/snail-job-common/snail-job-common-log/pom.xml
+++ b/snail-job-common/snail-job-common-log/pom.xml
@@ -28,10 +28,6 @@
provided
-
- cn.hutool
- hutool-extra
-
org.springframework.boot
spring-boot-starter-log4j2
@@ -42,6 +38,10 @@
log4j
true
+
+ cn.hutool
+ hutool-core
+
diff --git a/snail-job-common/snail-job-common-log/src/main/resources/META-INF/services/com.aizuda.snail.job.common.log.factory.LogFactory b/snail-job-common/snail-job-common-log/src/main/resources/META-INF/services/com.aizuda.snailjob.common.log.factory.LogFactory
similarity index 100%
rename from snail-job-common/snail-job-common-log/src/main/resources/META-INF/services/com.aizuda.snail.job.common.log.factory.LogFactory
rename to snail-job-common/snail-job-common-log/src/main/resources/META-INF/services/com.aizuda.snailjob.common.log.factory.LogFactory