From f6c3ee10f20c2360a07c03443a9f610b5d1f7e59 Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Tue, 7 May 2024 14:43:09 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E9=82=AE=E4=BB=B6):=20=E7=BB=BC=E5=90=88?= =?UTF-8?q?=E9=82=AE=E4=BB=B6=E5=8F=91=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/common-utils/pom.xml | 4 +++ .../bunny/common/utils/MailSenderHelper.java} | 35 +++++++++++++++++-- common/pom.xml | 1 - common/service-mail/pom.xml | 33 ----------------- .../common/email/config/EmailConfig.java | 4 --- .../java/cn/bunny/entity/email/EmailSend.java | 12 +++++-- service/pom.xml | 5 --- .../service/impl/EmailServiceImpl.java | 18 +++++----- 8 files changed, 54 insertions(+), 58 deletions(-) rename common/{service-mail/src/main/java/cn/bunny/common/email/utils/MailSender.java => common-utils/src/main/java/cn/bunny/common/utils/MailSenderHelper.java} (79%) delete mode 100644 common/service-mail/pom.xml delete mode 100644 common/service-mail/src/main/java/cn/bunny/common/email/config/EmailConfig.java diff --git a/common/common-utils/pom.xml b/common/common-utils/pom.xml index 44d76da..5f69e9a 100644 --- a/common/common-utils/pom.xml +++ b/common/common-utils/pom.xml @@ -28,6 +28,10 @@ jaxb-api 2.1 + + org.springframework.boot + spring-boot-starter-mail + com.baomidou diff --git a/common/service-mail/src/main/java/cn/bunny/common/email/utils/MailSender.java b/common/common-utils/src/main/java/cn/bunny/common/utils/MailSenderHelper.java similarity index 79% rename from common/service-mail/src/main/java/cn/bunny/common/email/utils/MailSender.java rename to common/common-utils/src/main/java/cn/bunny/common/utils/MailSenderHelper.java index 67f78c0..f112d89 100644 --- a/common/service-mail/src/main/java/cn/bunny/common/email/utils/MailSender.java +++ b/common/common-utils/src/main/java/cn/bunny/common/utils/MailSenderHelper.java @@ -1,4 +1,4 @@ -package cn.bunny.common.email.utils; +package cn.bunny.common.utils; import cn.bunny.entity.email.EmailSend; import cn.bunny.entity.email.EmailSendInit; @@ -11,14 +11,14 @@ import org.springframework.web.multipart.MultipartFile; import java.util.Objects; -public class MailSender { +public class MailSenderHelper { private final String username; private final JavaMailSenderImpl javaMailSender; /** * 初始化构造函数进行当前类赋值 */ - public MailSender(EmailSendInit emailSendInit) { + public MailSenderHelper(EmailSendInit emailSendInit) { JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl(); javaMailSender.setHost(emailSendInit.getHost()); javaMailSender.setPort(emailSendInit.getPort()); @@ -127,4 +127,33 @@ public class MailSender { // 发送邮件 javaMailSender.send(message); } + + /** + * 综合邮箱发送 + * + * @param emailSend 邮件消息 + */ + public void sendEmail(EmailSend emailSend) throws MessagingException { + // 创建 MimeMessage 对象用于发送邮件富文本或者附件 + MimeMessage message = javaMailSender.createMimeMessage(); + // 创建 MimeMessageHelper + MimeMessageHelper helper = new MimeMessageHelper(message, true); + + // 设置发送人 + helper.setFrom(username); + // 设置邮件接受者 + helper.setTo(emailSend.getSendTo()); + // 设置邮件主题 + helper.setSubject(emailSend.getSubject()); + // 设置发送消息 为富文本 + helper.setText(emailSend.getMessage(), emailSend.getIsRichText()); + // 设置抄送人 + helper.setCc(emailSend.getCcParam().split(",")); + // 邮件添加附件 + MultipartFile file = emailSend.getFile(); + helper.addAttachment(Objects.requireNonNull(file.getOriginalFilename()), file); + + // 发送邮件 + javaMailSender.send(message); + } } diff --git a/common/pom.xml b/common/pom.xml index 6776ed0..f201208 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -15,7 +15,6 @@ service-utils common-utils spring-security - service-mail diff --git a/common/service-mail/pom.xml b/common/service-mail/pom.xml deleted file mode 100644 index b2770f3..0000000 --- a/common/service-mail/pom.xml +++ /dev/null @@ -1,33 +0,0 @@ - - 4.0.0 - - cn.bunny - common - 0.0.1-SNAPSHOT - - - service-mail - jar - - service-mail - https://maven.apache.org - - - UTF-8 - - - - - - org.springframework.boot - spring-boot-starter-mail - - - cn.bunny - service-utils - 0.0.1-SNAPSHOT - compile - - - diff --git a/common/service-mail/src/main/java/cn/bunny/common/email/config/EmailConfig.java b/common/service-mail/src/main/java/cn/bunny/common/email/config/EmailConfig.java deleted file mode 100644 index 73b306d..0000000 --- a/common/service-mail/src/main/java/cn/bunny/common/email/config/EmailConfig.java +++ /dev/null @@ -1,4 +0,0 @@ -package cn.bunny.common.email.config; - -public class EmailConfig { -} diff --git a/model/src/main/java/cn/bunny/entity/email/EmailSend.java b/model/src/main/java/cn/bunny/entity/email/EmailSend.java index 0070c68..a06de45 100644 --- a/model/src/main/java/cn/bunny/entity/email/EmailSend.java +++ b/model/src/main/java/cn/bunny/entity/email/EmailSend.java @@ -4,17 +4,23 @@ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; - -import java.io.File; +import org.springframework.web.multipart.MultipartFile; @Data @Builder @AllArgsConstructor @NoArgsConstructor public class EmailSend { + // 给谁发送 private String sendTo; + // 发送主题 private String subject; + // 是否为富文本 + private Boolean isRichText; + // 发送内容 private String message; + // 抄送人 private String ccParam; - private File file; + // 发送的文件 + private MultipartFile file; } diff --git a/service/pom.xml b/service/pom.xml index decbca4..c13c891 100644 --- a/service/pom.xml +++ b/service/pom.xml @@ -25,11 +25,6 @@ spring-security 0.0.1-SNAPSHOT - - cn.bunny - service-mail - 0.0.1-SNAPSHOT - cn.bunny diff --git a/service/src/main/java/cn/bunny/service/service/impl/EmailServiceImpl.java b/service/src/main/java/cn/bunny/service/service/impl/EmailServiceImpl.java index 6931de2..7316e51 100644 --- a/service/src/main/java/cn/bunny/service/service/impl/EmailServiceImpl.java +++ b/service/src/main/java/cn/bunny/service/service/impl/EmailServiceImpl.java @@ -1,6 +1,6 @@ package cn.bunny.service.service.impl; -import cn.bunny.common.email.utils.MailSender; +import cn.bunny.common.utils.MailSenderHelper; import cn.bunny.entity.email.EmailSend; import cn.bunny.entity.email.EmailSendInit; import cn.bunny.service.service.EmailService; @@ -25,8 +25,8 @@ public class EmailServiceImpl implements EmailService { emailSendInit.setPort(465); emailSendInit.setUsername("3324855376@qq.com"); emailSendInit.setPassword("axyqbvfuxkdqdaai"); - MailSender mailSender = new MailSender(emailSendInit); - mailSender.sendSimpleEmail(emailSend); + MailSenderHelper mailSenderHelper = new MailSenderHelper(emailSendInit); + mailSenderHelper.sendSimpleEmail(emailSend); } /** @@ -44,8 +44,8 @@ public class EmailServiceImpl implements EmailService { emailSendInit.setUsername("3324855376@qq.com"); emailSendInit.setPassword("axyqbvfuxkdqdaai"); - MailSender mailSender = new MailSender(emailSendInit); - mailSender.sendAttachmentEmail(emailSend, file, true); + MailSenderHelper mailSenderHelper = new MailSenderHelper(emailSendInit); + mailSenderHelper.sendAttachmentEmail(emailSend, file, true); return true; } catch (MessagingException e) { return false; @@ -67,8 +67,8 @@ public class EmailServiceImpl implements EmailService { emailSendInit.setUsername("3324855376@qq.com"); emailSendInit.setPassword("axyqbvfuxkdqdaai"); - MailSender mailSender = new MailSender(emailSendInit); - mailSender.sendRichText(emailSend, true); + MailSenderHelper mailSenderHelper = new MailSenderHelper(emailSendInit); + mailSenderHelper.sendRichText(emailSend, true); return true; } catch (MessagingException e) { return false; @@ -89,8 +89,8 @@ public class EmailServiceImpl implements EmailService { emailSendInit.setUsername("3324855376@qq.com"); emailSendInit.setPassword("axyqbvfuxkdqdaai"); - MailSender mailSender = new MailSender(emailSendInit); - mailSender.sendCC(emailSend, true); + MailSenderHelper mailSenderHelper = new MailSenderHelper(emailSendInit); + mailSenderHelper.sendCC(emailSend, true); return true; } catch (MessagingException e) { return false;