반응형
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; } |
반응형
'Backend > Spring' 카테고리의 다른 글
Spring Framework (스프링프레임워크) 기본 동작 순서 및 구조 (0) | 2019.11.21 |
---|---|
SSL 미사용 및 파라미터 추가할 경우 (0) | 2019.09.11 |
3.1.1 파일업로드 (0) | 2019.09.10 |
Spring log4j 외부파일 저장 설정방법 (0) | 2019.05.09 |
CKEDITOR 이미지 업로드 활성화 (4) | 2019.04.29 |