From e46f74096736c408328cf588e55ea2152f436de4 Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Mon, 04 Mar 2024 16:00:00 +0800
Subject: [PATCH] 邮箱管理

---
 src/main/java/org/springblade/modules/email/service/impl/EmailAccountServiceImpl.java |   67 ++++++++++++++++++++++++---------
 1 files changed, 48 insertions(+), 19 deletions(-)

diff --git a/src/main/java/org/springblade/modules/email/service/impl/EmailAccountServiceImpl.java b/src/main/java/org/springblade/modules/email/service/impl/EmailAccountServiceImpl.java
index 72b52b9..1bf4c3f 100644
--- a/src/main/java/org/springblade/modules/email/service/impl/EmailAccountServiceImpl.java
+++ b/src/main/java/org/springblade/modules/email/service/impl/EmailAccountServiceImpl.java
@@ -1,10 +1,15 @@
 package org.springblade.modules.email.service.impl;
 
+import com.xxl.job.core.util.DateUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.modules.email.config.MailProperties;
 import org.springblade.modules.email.config.MailSenderConfig;
 import org.springblade.modules.email.entity.EmailAccount;
 import org.springblade.modules.email.service.IEmailAccountService;
+import org.springblade.modules.messageRecord.entity.MessageUser;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.mail.javamail.JavaMailSender;
 import org.springframework.mail.javamail.JavaMailSenderImpl;
@@ -14,10 +19,15 @@
 import javax.annotation.Resource;
 import javax.mail.MessagingException;
 import javax.mail.internet.MimeMessage;
+import java.io.File;
+import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 @Slf4j
 public class EmailAccountServiceImpl implements IEmailAccountService {
+
+	private static Logger logger = LoggerFactory.getLogger(EmailAccountServiceImpl.class);
 
 	@Autowired
 	MailSenderConfig senderConfig;
@@ -26,30 +36,49 @@
 	MailProperties mailProperties;
 
 
+	@Override
+	public Boolean senderEmail(EmailAccount account) {
+
+		if (account.getEmails().size() > 0) {
+			log.info(Thread.currentThread().getName());
+			JavaMailSenderImpl javaMailSender = senderConfig.getSender();
+			//一个复杂的邮件
+			MimeMessage message = javaMailSender.createMimeMessage();
+			try {
+				//组装
+				MimeMessageHelper helper = new MimeMessageHelper(message, true);
+
+				//主题(标题)
+				helper.setSubject(account.getSubject());
+
+				helper.setText(account.getContent(), true);
+
+				helper.setTo(account.getEmails().toArray(new String[account.getEmails().size()]));
+
+				helper.setFrom(javaMailSender.getUsername());
+
+				javaMailSender.send(message);
+				return true;
+
+			} catch (MessagingException e) {
+				logger.error("邮件发送失败!", e);
+				return false;
+			}
+		}
+		return false;
+	}
 
 	@Override
-	public void senderEmail(EmailAccount account) {
-		log.info(Thread.currentThread().getName());
-		JavaMailSenderImpl javaMailSender = senderConfig.getSender();
-		//一个复杂的邮件
-		MimeMessage message = javaMailSender.createMimeMessage();
-		try {
-			//组装
-			MimeMessageHelper helper = new MimeMessageHelper(message, true);
+	public Boolean sendMessageUserEmail(String title, String content, List<MessageUser> messageUserList) {
 
-			//主题(标题)
-			helper.setSubject(account.getSubject());
+		List<String> emails = messageUserList.stream().filter(e -> StringUtil.isNotBlank(e.getEmail())).map(MessageUser::getEmail).collect(Collectors.toList());
 
-			helper.setText(account.getContent(),true);
+		EmailAccount emailAccount = new EmailAccount();
 
-			helper.setTo(account.getEmails().toArray(new String[account.getEmails().size()]));
+		emailAccount.setEmails(emails);
+		emailAccount.setSubject(title);
+		emailAccount.setContent(content);
 
-			helper.setFrom(javaMailSender.getUsername());
-
-			javaMailSender.send(message);
-
-		} catch (MessagingException e) {
-			e.printStackTrace();
-		}
+		return  senderEmail(emailAccount);
 	}
 }

--
Gitblit v1.9.3