diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/Email.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/Email.java index b7f87fa..7b66489 100644 --- a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/Email.java +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/Email.java @@ -53,4 +53,9 @@ public class Email { */ private Map attachments; + /** + * 发送数据 + */ + private Map dataMap; + } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/EmailService.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/EmailService.java index a9544ea..2c8f205 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/EmailService.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/EmailService.java @@ -12,4 +12,6 @@ import javax.mail.MessagingException; public interface EmailService { void sendMimeMessage(Email email) throws MessagingException; + + void sendTemplate(Email email) throws MessagingException; } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/AdministratorServiceImpl.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/AdministratorServiceImpl.java index 9e160b5..99fc256 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/AdministratorServiceImpl.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/AdministratorServiceImpl.java @@ -3,13 +3,15 @@ package com.kening.vordm.service.impl; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.kening.vordm.entity.Administrator; +import com.kening.vordm.entity.Email; import com.kening.vordm.mapper.AdministratorMapper; import com.kening.vordm.service.AdministratorService; -import com.kening.vordm.util.SendMailUtil; +import com.kening.vordm.service.EmailService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.tool.utils.DigestUtil; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.time.LocalDate; @@ -26,7 +28,7 @@ import java.util.Map; @AllArgsConstructor public class AdministratorServiceImpl extends BaseServiceImpl implements AdministratorService { - private SendMailUtil sendMailUtil; + private EmailService emailService; /** * 根据角色名称获取角色id @@ -69,7 +71,12 @@ public class AdministratorServiceImpl extends BaseServiceImpl entry : email.getDataMap().entrySet()) { + context.setVariable(entry.getKey(), entry.getValue()); + } + //使用的模板 + String templateContent = templateEngine.process("email", context); + MimeMessage message = javaMailSender.createMimeMessage(); + MimeMessageHelper helper = new MimeMessageHelper(message, true); + //发送人 + helper.setFrom(from); + //收件人 + helper.setTo(email.getTos()); + //主题 + helper.setSubject(email.getSubject()); + //发送内容 + helper.setText(templateContent, true); + return message; + } + + /** * 构建邮件发送内容 * @param email 待发送的邮件 * @return 邮件消息 diff --git a/kn-service/pom.xml b/kn-service/pom.xml index d8bca05..c10d910 100644 --- a/kn-service/pom.xml +++ b/kn-service/pom.xml @@ -101,6 +101,11 @@ org.springframework.boot spring-boot-starter-mail + + + org.springframework.boot + spring-boot-starter-thymeleaf +