| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | |
| | | break; |
| | | } |
| | | |
| | | this.sendEmail(this.messageAccessor.message(mailConstants.getTitle(), locale), content, sendUsers, filePaths); |
| | | this.sendEmail(this.messageAccessor.message(mailConstants.getTitle(), locale), content, sendUsers, filePaths, null); |
| | | } |
| | | |
| | | // 이메일 템플릿 찾기 |
| | |
| | | // 이메일을 발송한다. |
| | | @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 { |
| | |
| | | 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) { |
| | |
| | | // 내용이 있으면 발송 |
| | | 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); |
| | | } |
| | | } |
| | |
| | | // 내용이 있으면 발송 |
| | | 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); |
| | | } |
| | | } |