From 54870bd18001a83fed405090ed0911ad9b12424d Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Tue, 7 May 2024 14:34:46 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E9=82=AE=E4=BB=B6):=20=E5=8F=91=E9=80=81?= =?UTF-8?q?=E5=B8=A6=E6=8A=84=E9=80=81=E7=9A=84=E9=82=AE=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bunny/common/email/utils/MailSender.java | 30 ++++++++++++++- .../java/cn/bunny/entity/email/EmailSend.java | 1 + .../service/controller/MailController.java | 9 +++-- .../bunny/service/service/EmailService.java | 3 +- .../service/impl/EmailServiceImpl.java | 37 ++++++++----------- 5 files changed, 51 insertions(+), 29 deletions(-) diff --git a/common/service-mail/src/main/java/cn/bunny/common/email/utils/MailSender.java b/common/service-mail/src/main/java/cn/bunny/common/email/utils/MailSender.java index 6db4dee..67f78c0 100644 --- a/common/service-mail/src/main/java/cn/bunny/common/email/utils/MailSender.java +++ b/common/service-mail/src/main/java/cn/bunny/common/email/utils/MailSender.java @@ -57,7 +57,7 @@ public class MailSender { * * @param emailSend 邮件消息 */ - public void sendAttachmentEmail(EmailSend emailSend, MultipartFile file) throws MessagingException { + public void sendAttachmentEmail(EmailSend emailSend, MultipartFile file, boolean isRich) throws MessagingException { // 创建 MimeMessage 对象用户发送附件或者是富文本内容 MimeMessage mailMessage = javaMailSender.createMimeMessage(); // 创建 MimeMessageHelper @@ -68,7 +68,7 @@ public class MailSender { // 设置邮件接受者 helper.setTo(emailSend.getSendTo()); // 设置邮件消息 - helper.setText(emailSend.getMessage()); + helper.setText(emailSend.getMessage(), isRich); // 设置邮件主题 helper.setSubject(emailSend.getSubject()); // 邮件添加附件 @@ -101,4 +101,30 @@ public class MailSender { // 发送邮件 javaMailSender.send(mailMessage); } + + /** + * 发送带抄送的邮件 + * + * @param emailSend 邮件消息 + */ + public void sendCC(EmailSend emailSend, boolean isRich) 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(), isRich); + // 设置抄送人 + helper.setCc(emailSend.getCcParam().split(",")); + + // 发送邮件 + javaMailSender.send(message); + } } 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 bb2a68c..0070c68 100644 --- a/model/src/main/java/cn/bunny/entity/email/EmailSend.java +++ b/model/src/main/java/cn/bunny/entity/email/EmailSend.java @@ -15,5 +15,6 @@ public class EmailSend { private String sendTo; private String subject; private String message; + private String ccParam; private File file; } diff --git a/service/src/main/java/cn/bunny/service/controller/MailController.java b/service/src/main/java/cn/bunny/service/controller/MailController.java index 5ac4c2d..8412b4c 100644 --- a/service/src/main/java/cn/bunny/service/controller/MailController.java +++ b/service/src/main/java/cn/bunny/service/controller/MailController.java @@ -8,7 +8,10 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; @RestController @@ -47,9 +50,9 @@ public class MailController { @Operation(summary = "发送带抄送的邮件", description = "发送带抄送的邮件") @PostMapping("send-cc") - public Result sendCC(@RequestBody EmailSend emailSend, @RequestParam String ccParam) { + public Result sendCC(@RequestBody EmailSend emailSend) { log.info("发送带抄送的邮件"); - boolean isSuccess = emailService.sendCC(emailSend, ccParam); + boolean isSuccess = emailService.sendCC(emailSend); return isSuccess ? Result.success() : Result.error(); } } diff --git a/service/src/main/java/cn/bunny/service/service/EmailService.java b/service/src/main/java/cn/bunny/service/service/EmailService.java index 39dfb7a..a040b25 100644 --- a/service/src/main/java/cn/bunny/service/service/EmailService.java +++ b/service/src/main/java/cn/bunny/service/service/EmailService.java @@ -32,8 +32,7 @@ public interface EmailService { * 发送带抄送的邮件 * * @param emailSend 邮件消息 - * @param ccParam 抄送人 * @return 是否成功 */ - boolean sendCC(EmailSend emailSend, String ccParam); + boolean sendCC(EmailSend emailSend); } 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 6f592df..6931de2 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 @@ -45,7 +45,7 @@ public class EmailServiceImpl implements EmailService { emailSendInit.setPassword("axyqbvfuxkdqdaai"); MailSender mailSender = new MailSender(emailSendInit); - mailSender.sendAttachmentEmail(emailSend, file); + mailSender.sendAttachmentEmail(emailSend, file, true); return true; } catch (MessagingException e) { return false; @@ -79,28 +79,21 @@ public class EmailServiceImpl implements EmailService { * 发送带抄送的邮件 * * @param emailSend 邮件消息 - * @param ccParam 抄送人 */ @Override - public boolean sendCC(EmailSend emailSend, String ccParam) { - // // 创建 MimeMessage 对象用于发送邮件富文本或者附件 - // MimeMessage message = javaMailSender.createMimeMessage(); - // // 创建 MimeMessageHelper - // MimeMessageHelper helper = new MimeMessageHelper(message, true); - // - // // 设置发送人 - // helper.setFrom(emailFrom); - // // 设置邮件接受者 - // helper.setTo(emailSend.getSendTo()); - // // 设置邮件主题 - // helper.setSubject(emailSend.getSubject()); - // // 设置发送消息 为富文本 - // helper.setText(emailSend.getMessage(), true); - // // 设置抄送人 - // helper.setCc(ccParam.split(",")); - // - // // 发送邮件 - // javaMailSender.send(message); - return false; + public boolean sendCC(EmailSend emailSend) { + try { + EmailSendInit emailSendInit = new EmailSendInit(); + emailSendInit.setHost("smtp.qq.com"); + emailSendInit.setPort(465); + emailSendInit.setUsername("3324855376@qq.com"); + emailSendInit.setPassword("axyqbvfuxkdqdaai"); + + MailSender mailSender = new MailSender(emailSendInit); + mailSender.sendCC(emailSend, true); + return true; + } catch (MessagingException e) { + return false; + } } }