관련 프로토콜
- RFC 822(SMTP)
- RFC 2045(MIME)
- RFC 1939(POP3)
- RFC 3501(IMAP)
메시지 처리 절차
참조: JSR-919
Message -> Transport -> Internet -> Store -> Folder -> Message
MimeMessage 객체의 구성
Message | |
header | From: |
Subject: | |
Content-Type | |
Multipart | BodyPart:"text/plain" |
BodyPart:"Image/gif" | |
BodyPart:"multipart/mixed" |
Message 클래스
javax.mail.Message 추상 클래스: javax.mail.Part 인터페이스에서 정의하는 헤더 속성 관리 메소드를 구현
메시지 전송 작성 단계
1. 메시지 생성
Message msg = new MimeMessage(session);
2. 메시지 속성 설정
- 송신자, 수신자, 제목, 송신 날짜 등
- 그 외 메시지 관련 헤더 정보 설정 가능
// 받는사람 설정
Address[] toAddrs = new InternetAddress[2];
toAddrs[0] = new InternetAddress("1@localhost");
toAddrs[1] = new InternetAddress("2@localhost");
// 보내는 사람 설정
Address fromAddr = new InternetAddress("test@localhost");
msg.setFrom(fromAddr);
msg.setRecipients(Message.RecipientType.To, toAddrs);
msg.setSubject("Test mail");
msg.setSentDate(new Date());
3. 메시지 본문 설정
// SetDataHandler 메소드를 사용
String content = "테스트";
DataHandler data = new DataHandler(content, "text/plain");
msg.setDataHandler(data);
// setContent 메소드를 사용
String content = "테스트";
msg.setContent(content, "text/plain");
MIME multipart 메시지 생성
- 여러 BodyPart를 가지는 multipart 메시지 생성 단계
1. 새로운 MimeMultipart 객체 생성
Mimemultipart mp = new MimeMultipart();
2. MimeBodyPart 객체를 생성하여 MimeMultipart 객체에 추가
2-1) MIME 메시지의 본문을 구성하는 MimeBodyPart 객체 생성
MimeBodyPart b1 = new MimeBodyPart();
2-2) 각 BodyPart 객체의 본문을 구성하는 콘텐츠를 추가하기 위하여 setContent나 setDataHandler메소드 사용
b1.setContent("test", "text/plain");
2-3) 콘텐츠 추가가 완료시 addBodyPart 메소드를 사용하여 MimeMultipart 객체에 추가
mp.addBodyPart(b1);
3. setContent 메소드를 사용하여 준비가 끝난 MimeMultipart 객체를 Message 객체에 추가
msg.setContent(mp);
msg.saveChanges();
'기타 > JSP' 카테고리의 다른 글
로깅 (0) | 2020.06.09 |
---|---|
JSP 파일 처리 (0) | 2020.06.09 |
JSP + JDBC API (0) | 2020.06.09 |
JSTL (0) | 2020.06.09 |
JSP 표현식 언어와 태그확장 (0) | 2020.06.09 |