반응형
Java 메일 읽기
자바 메일을 읽기 위해서는 메일 서버에서 POP 또는 IMAP 프로토콜 지원이 필요합니다.
import javax.mail.*;
import javax.mail.search.FlagTerm;
import java.util.*;
public class MailReadUtil {
public void read() {
Store store = null;
Folder inbox = null;
try {
Properties props = new Properties();
Session msgSession = Session.getDefaultInstance(props);
store = msgSession.getStore("imaps");
store.connect("imap.gmail.com", "user@gmail.com", "passwd");
System.out.println(store);
inbox = store.getFolder("Inbox"); // 읽고자 하는 폴더
inbox.open(Folder.READ_WRITE); // 읽기 적용을 위한 읽고 쓰기 모드
// 읽지 않는 것들 중
Message[] messages = inbox.search(new FlagTerm(new Flags(Flags.Flag.SEEN), false));
for (int i = 0; i < messages.length; i++) {
Message message = messages[i];
// 읽은 메일로 설정
message.setFlag(Flags.Flag.SEEN, true);
System.out.println("제목:" + message.getSubject());
System.out.println("발송: " + message.getFrom()[0]);
System.out.println("발송일:" + message.getSentDate());
System.out.println("수신일:" + message.getReceivedDate());
System.out.println("내용:" + message.getContent().toString());
}
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
if(inbox != null) {
try{
inbox.close(false);
}catch (MessagingException e){}
}
if(store != null) {
try{
store.close();
}catch (MessagingException e){}
}
}
}
}
참고
- Java Mail: https://javaee.github.io/javamail/
반응형
'FullStack > 21. Java' 카테고리의 다른 글
ResultSet의 setFetchSize 에 따른 성능 (0) | 2023.09.05 |
---|---|
TimeZone 출력(GMT, UTC) (0) | 2023.07.18 |
[Spring] RequestContextHolder (0) | 2023.02.15 |
인텔리J 톰켓 위치-로그 (0) | 2023.01.17 |
JAVA - HTTP 서비스 포트 찾기 (0) | 2022.11.08 |