From 3769066803803e7f97b1083eff12b1d6f8486771 Mon Sep 17 00:00:00 2001 From: JuFeng Li <920347627@qq.com> Date: Thu, 11 Mar 2021 11:35:25 +0800 Subject: [PATCH] [Fix-5032][Alert]Support email multiple format (#5033) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * support multilple email format Co-authored-by: 李巨丰 --- .../plugin/alert/email/MailSender.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/dolphinscheduler-alert-plugin/dolphinscheduler-alert-email/src/main/java/org/apache/dolphinscheduler/plugin/alert/email/MailSender.java b/dolphinscheduler-alert-plugin/dolphinscheduler-alert-email/src/main/java/org/apache/dolphinscheduler/plugin/alert/email/MailSender.java index 192578f861..0540b6c9d2 100644 --- a/dolphinscheduler-alert-plugin/dolphinscheduler-alert-email/src/main/java/org/apache/dolphinscheduler/plugin/alert/email/MailSender.java +++ b/dolphinscheduler-alert-plugin/dolphinscheduler-alert-email/src/main/java/org/apache/dolphinscheduler/plugin/alert/email/MailSender.java @@ -39,6 +39,8 @@ import java.util.List; import java.util.Map; import java.util.Properties; +import javax.activation.CommandMap; +import javax.activation.MailcapCommandMap; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; @@ -284,6 +286,15 @@ public class MailSender { * @return the new Session */ private Session getSession() { + // support multilple email format + MailcapCommandMap mc = (MailcapCommandMap) CommandMap.getDefaultCommandMap(); + mc.addMailcap("text/html;; x-java-content-handler=com.sun.mail.handlers.text_html"); + mc.addMailcap("text/xml;; x-java-content-handler=com.sun.mail.handlers.text_xml"); + mc.addMailcap("text/plain;; x-java-content-handler=com.sun.mail.handlers.text_plain"); + mc.addMailcap("multipart/*;; x-java-content-handler=com.sun.mail.handlers.multipart_mixed"); + mc.addMailcap("message/rfc822;; x-java-content-handler=com.sun.mail.handlers.message_rfc822"); + CommandMap.setDefaultCommandMap(mc); + Properties props = new Properties(); props.setProperty(MailParamsConstants.MAIL_SMTP_HOST, mailSmtpHost); props.setProperty(MailParamsConstants.MAIL_SMTP_PORT, mailSmtpPort);