From 060ec221b3fcde462e649e21949113e178939d41 Mon Sep 17 00:00:00 2001 From: wind Date: Tue, 27 Jun 2023 17:42:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=80=E4=B8=AAMailMessage?= =?UTF-8?q?=E7=B1=BB=EF=BC=8C=E7=94=A8=E4=BA=8E=E6=9E=84=E9=80=A0=E9=82=AE?= =?UTF-8?q?=E4=BB=B6=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/email/api/MailClient.java | 2 + .../email/core/entity/MailMessage.java | 105 ++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 sms4j-Email-plugin/sms4j-Email-core/src/main/java/org/dromara/email/core/entity/MailMessage.java diff --git a/sms4j-Email-plugin/sms4j-Email-api/src/main/java/org/dromara/email/api/MailClient.java b/sms4j-Email-plugin/sms4j-Email-api/src/main/java/org/dromara/email/api/MailClient.java index a4df357c..b1308bf0 100644 --- a/sms4j-Email-plugin/sms4j-Email-api/src/main/java/org/dromara/email/api/MailClient.java +++ b/sms4j-Email-plugin/sms4j-Email-api/src/main/java/org/dromara/email/api/MailClient.java @@ -81,6 +81,8 @@ public interface MailClient { * @param title 邮件标题 * @param body 邮件正文 * @param files 附件,可添加多个 + * @param bcc 密送人 + * @param cc 抄送人 * @author :Wind */ void sendEmail(List mailAddress, String title, String body,List cc,List bcc,Map files); diff --git a/sms4j-Email-plugin/sms4j-Email-core/src/main/java/org/dromara/email/core/entity/MailMessage.java b/sms4j-Email-plugin/sms4j-Email-core/src/main/java/org/dromara/email/core/entity/MailMessage.java new file mode 100644 index 00000000..eb53aa11 --- /dev/null +++ b/sms4j-Email-plugin/sms4j-Email-core/src/main/java/org/dromara/email/core/entity/MailMessage.java @@ -0,0 +1,105 @@ +package org.dromara.email.core.entity; + +import lombok.Getter; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Getter +public class MailMessage { + + /** 收件人地址*/ + private List mailAddress; + + /** 邮件主题*/ + private String title; + + /** 文字正文*/ + private String body; + + /** 抄送人*/ + private List cc; + + /** 密送人*/ + private List bcc; + + /** 附件*/ + private Map files; + + public static MailsBuilder Builder(){ + return new MailsBuilder(); + } + + static class MailsBuilder{ + private final MailMessage mailMessage = new MailMessage(); + public MailsBuilder() { + } + public MailMessage build(){ + return mailMessage; + } + + public MailsBuilder setMailAddress(List mailAddress) { + mailMessage.mailAddress = mailAddress; + return this; + } + + public MailsBuilder setMailAddress(String mailAddress){ + if ( mailMessage.mailAddress == null){ + mailMessage.mailAddress = new ArrayList<>(); + } + mailMessage.mailAddress.add(mailAddress); + return this; + } + + public MailsBuilder setTitle(String title){ + mailMessage.title = title; + return this; + } + + public MailsBuilder setBody(String body){ + mailMessage.body = body; + return this; + } + + public MailsBuilder setCc(List cc){ + mailMessage.cc = cc; + return this; + } + + public MailsBuilder setCc(String cc){ + if (mailMessage.cc == null){ + mailMessage.cc = new ArrayList<>(); + } + mailMessage.cc.add(cc); + return this; + } + + public MailsBuilder setBcc(List bcc){ + mailMessage.bcc = bcc; + return this; + } + + public MailsBuilder setBcc(String bcc){ + if (mailMessage.bcc == null){ + mailMessage.bcc = new ArrayList<>(); + } + mailMessage.bcc.add(bcc); + return this; + } + + public MailsBuilder setFiles(Map files){ + mailMessage.files = files; + return this; + } + + public MailsBuilder setFiles(String fileName,String filePath){ + if (mailMessage.files == null){ + mailMessage.files = new HashMap<>(); + } + mailMessage.files.put(fileName,filePath); + return this; + } + } +}