Backend/Spring
Javax Mail 첨부파일
Jeffrey Oh
2019. 9. 11. 12:37
Javax Mail 첨부파일
@Override public boolean send(MailVO mail) { MimeMessage message = javaMailSender.createMimeMessage(); try { message.setFrom(new InternetAddress(mail.getFrom())); message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(mail.getTo())); message.setSubject(mail.getSubject()); MimeBodyPart messageBodyPart = new MimeBodyPart(); Multipart multipart = new MimeMultipart(); // 내용 추가 messageBodyPart.setContent(mail.getText(), "text/html; charset=EUC-KR"); multipart.addBodyPart(messageBodyPart); if(mail.getFilePathList().size() > 0) { for (int i=0; i<mail.getFilePathList().size(); i++) { // 파일 리스트에서 1개 꺼내어 파일경로를 넣은 File 객체 생성 File file = new File(mail.getFilePathList().get(i).getFilePath()); if(file.exists()) { // 파일이 있다면? MimeBodyPart messageAttachPart = new MimeBodyPart(); // 파일경로를 소스에 추가 DataSource source = new FileDataSource(mail.getFilePathList().get(i).getFilePath()); // 바디 내용에 추가 messageAttachPart.setDataHandler(new DataHandler(source)); try { // 첨부파일 이름 설정 및 한글 인코딩 messageAttachPart.setFileName(MimeUtility.encodeText(mail.getFilePathList().get(i).getOriginName())); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } // 만들어진 바디 부착 multipart.addBodyPart(messageAttachPart); } } } // 메시지 내용 추가 message.setContent(multipart); javaMailSender.send(message); return true; }catch(MessagingException e) { e.printStackTrace(); } return false; } |