From 9709ddf7896ad4d02859d755fb8ef1a28599b587 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 화, 25 1월 2022 18:50:00 +0900 Subject: [PATCH] 일반 이메일 전송시 첨부 파일 추가 --- src/main/java/kr/wisestone/owl/service/impl/SystemEmailServiceImpl.java | 21 ++++++++++++++------- 1 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/impl/SystemEmailServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/SystemEmailServiceImpl.java index 992923b..2398cb2 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/SystemEmailServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/SystemEmailServiceImpl.java @@ -22,6 +22,7 @@ import kr.wisestone.owl.service.UserService; import kr.wisestone.owl.util.*; import org.apache.commons.io.FilenameUtils; +import org.flywaydb.core.internal.util.scanner.filesystem.FileSystemResource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -38,12 +39,11 @@ import javax.activation.DataSource; import javax.activation.FileDataSource; import javax.mail.SendFailedException; -import javax.mail.internet.InternetAddress; -import javax.mail.internet.MimeMessage; -import javax.mail.internet.MimeUtility; +import javax.mail.internet.*; import java.io.IOException; import java.util.*; +import org.springframework.web.multipart.MultipartFile; import org.thymeleaf.context.Context; import org.thymeleaf.spring5.SpringTemplateEngine; @@ -224,7 +224,7 @@ break; } - this.sendEmail(this.messageAccessor.message(mailConstants.getTitle(), locale), content, sendUsers, filePaths); + this.sendEmail(this.messageAccessor.message(mailConstants.getTitle(), locale), content, sendUsers, filePaths, null); } // �씠硫붿씪 �뀥�뵆由� 李얘린 @@ -262,7 +262,7 @@ // �씠硫붿씪�쓣 諛쒖넚�븳�떎. @Override @Transactional(readOnly = true) - public void sendEmail(String subject, String content, String[] to, String[] filePaths) { + public void sendEmail(String subject, String content, String[] to, String[] filePaths, List<MultipartFile> multipartFiles) { MimeMessage message = this.javaMailSender.createMimeMessage(); try { @@ -272,6 +272,13 @@ messageHelper.setText(content, true); messageHelper.setFrom(from); messageHelper.setTo(to); + + if (multipartFiles != null && multipartFiles.size() > 0) { + for (MultipartFile file : multipartFiles) { + // �뙆�씪 泥⑤� + messageHelper.addAttachment(file.getOriginalFilename(), file); + } + } if (filePaths != null && filePaths.length > 0) { for (String filePath : filePaths) { @@ -413,7 +420,7 @@ // �궡�슜�씠 �엳�쑝硫� 諛쒖넚 if (!StringUtils.isEmpty(emailBuilder.toString())) { // �씠硫붿씪�쓣 諛쒖넚�븳�떎. - this.sendEmail(this.messageAccessor.message(MsgConstants.RESERVATION_EMAIL_TITLE, locale), emailBuilder.toString(), new String[]{CommonUtil.decryptAES128(sendUser)}, null); + this.sendEmail(this.messageAccessor.message(MsgConstants.RESERVATION_EMAIL_TITLE, locale), emailBuilder.toString(), new String[]{CommonUtil.decryptAES128(sendUser)}, null, null); this.systemEmailRepository.saveAll(systemEmails); } } @@ -444,7 +451,7 @@ // �궡�슜�씠 �엳�쑝硫� 諛쒖넚 if (!StringUtils.isEmpty(emailBuilder.toString())) { // �씠硫붿씪�쓣 諛쒖넚�븳�떎. - this.sendEmail(this.messageAccessor.message(MsgConstants.REALTIME_EMAIL_TITLE, locale), emailBuilder.toString(), new String[]{CommonUtil.decryptAES128(sendUser)}, null); + this.sendEmail(this.messageAccessor.message(MsgConstants.REALTIME_EMAIL_TITLE, locale), emailBuilder.toString(), new String[]{CommonUtil.decryptAES128(sendUser)}, null, null); this.systemEmailRepository.saveAll(systemEmails); } } -- Gitblit v1.8.0