Web 개발/Java, SpringBoot, JPA
[SpringBoot/Thymeleaf] 첨부파일을 포함한 메일 전송
닉ㄴ네
2022. 1. 6. 16:16
728x90
반응형
java.lang.IllegalStateException: Not in multipart mode -
create an appropriate MimeMessageHelper via a constructor that takes a 'multipart' flag if you need to set alternative texts or add inline elements or attachments.
메일 전송시 파일을 첨부할 때, 위와 같은 오류가 발생하였다.
MimeMessageHelper helper = new MimeMessageHelper(message, true);
MimeMessageHelper 생성시, multipart 모드로 생성하여 해결하였다.
전체 코드
String content = processTemplate(mail.getTemplateName() + ".ftlh", mail.getModel(), mail.getLocale());
MimeMessage message = javaMailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setTo(mail.getTo());
if(ObjectUtils.isEmpty(mail.getCc()) == false) {
helper.setCc(mail.getCc());
}
if(ObjectUtils.isEmpty(mail.getBcc()) == false) {
helper.setCc(mail.getBcc());
}
if(ObjectUtils.isEmpty(mail.getAttachedFile1()) == false) {
helper.addAttachment(MimeUtility.encodeWord("file1.pdf"), mail.getAttachedFile1());
}
if(ObjectUtils.isEmpty(mail.getAttachedFile2()) == false) {
helper.addAttachment("file2.pdf", mail.getAttachedFile2());
}
helper.setReplyTo(emailAddress, emailName);
helper.setFrom(emailAddress, emailName);
helper.setSubject(mail.getSubject());
helper.setText(content, true);
javaMailSender.send(message);
728x90
반응형