From 175c4118e4add4df943dd18a2bb5bdd9cff5c71f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=BF=E6=B2=90?= Date: Tue, 25 Jun 2024 17:13:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E9=82=AE=E4=BB=B6=E5=8F=91?= =?UTF-8?q?=E9=80=81=EF=BC=8C=E5=B7=A5=E5=85=B7=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/net/maku/email/util/EmailLocalUtil.java | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 maku-boot-system/src/main/java/net/maku/email/util/EmailLocalUtil.java diff --git a/maku-boot-system/src/main/java/net/maku/email/util/EmailLocalUtil.java b/maku-boot-system/src/main/java/net/maku/email/util/EmailLocalUtil.java new file mode 100644 index 0000000..021163f --- /dev/null +++ b/maku-boot-system/src/main/java/net/maku/email/util/EmailLocalUtil.java @@ -0,0 +1,54 @@ +package net.maku.email.util; + +import cn.hutool.extra.mail.MailAccount; +import cn.hutool.extra.mail.MailUtil; +import lombok.extern.slf4j.Slf4j; +import net.maku.email.config.EmailConfig; +import net.maku.framework.common.exception.ServerException; + +import java.io.File; + +/** + * 本地 邮件发送 + * + * @author 阿沐 babamu@126.com + * MAKU + */ +@Slf4j +public class EmailLocalUtil { + + private final MailAccount mailAccount; + + public EmailLocalUtil(EmailConfig config) { + MailAccount mailAccount = new MailAccount(); + mailAccount.setHost(config.getMailHost()); + if (config.getMailPort() != null) { + mailAccount.setPort(config.getMailPort()); + // 开启SSL加密 + if (config.getMailPort() == 465 || config.getMailPort() == 587) { + mailAccount.setSslEnable(true); + } + } + mailAccount.setFrom(config.getMailFrom()); + mailAccount.setPass(config.getMailPass()); + this.mailAccount = mailAccount; + } + + /** + * 发送邮件 + * + * @param tos 收件人邮箱列表,多个收件人逗号隔开 + * @param subject 邮件主题 + * @param content 邮件内容 + * @param files 附件列表 + * @return message-id + */ + public String sendEmail(String tos, String subject, String content, boolean isHtml, File... files) { + try { + return MailUtil.send(mailAccount, tos, subject, content, isHtml, files); + } catch (Exception e) { + log.error("发送邮件失败", e); + throw new ServerException(e.getMessage()); + } + } +}