diff --git a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/SnailJobMailProperties.java b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/SnailJobMailProperties.java index 12ce89736..aac4f40a7 100644 --- a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/SnailJobMailProperties.java +++ b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/SnailJobMailProperties.java @@ -5,6 +5,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; import java.io.Serializable; +import java.util.Map; /** * @author: opensnail @@ -71,4 +72,10 @@ public class SnailJobMailProperties implements Serializable { */ private Long connectionTimeout; + /** + * 额外的会话属性 + * eg: mail.smtp.ssl.trust + */ + private Map properties; + } 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 812a09ff0..046e77386 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,5 +1,6 @@ package com.aizuda.snailjob.common.core.alarm.strategy; +import cn.hutool.core.util.ObjUtil; import com.aizuda.snailjob.common.core.alarm.AlarmContext; import com.aizuda.snailjob.common.core.alarm.attribute.EmailAttribute; import com.aizuda.snailjob.common.core.alarm.email.MailAccount; @@ -85,6 +86,11 @@ public class EmailAlarm extends AbstractAlarm { account.setSslEnable(Optional.ofNullable(snailJobMailProperties.getSslEnable()).orElse(Boolean.FALSE)); account.setTimeout(Optional.ofNullable(snailJobMailProperties.getTimeout()).orElse(0L)); account.setConnectionTimeout(Optional.ofNullable(snailJobMailProperties.getConnectionTimeout()).orElse(0L)); + + if (ObjUtil.isNotEmpty(snailJobMailProperties.getProperties())) { + snailJobMailProperties.getProperties().forEach(account::setCustomProperty); + } + return account; } }