sitelink1 | http://zinblog.tistory.com/34 |
---|---|
sitelink2 | |
sitelink3 | |
sitelink4 | |
sitelink5 | |
sitelink6 |
JavaMail API를 이용해서 네이버 메일을 수신해보자. 아래는 읽지 않은 메일의 제목을 뿌려주는 메소드의 소스다.
여러모로 쓸모있는 코드가 될 거 같다.
일단 얕은 내 생각으로는 메일로 데이터를 주고 받는 것이, 서버와 클라이언트 간 통신에 대한 보안을 직접 관리하는 것 보다 안전하지 않을까?
아니면 말고.. 어차피 상업용으로 못쓰는 거 아닌가 기본 제공 메일은? 아니면 말고ㅎㅎ..
public class PostCan {
public static void open() throws AddressException, MessagingException {
String host = "pop.naver.com";
final String username = "네이버아이디"; // @naver.com 은 제외하고 아이디만.
final String password = "비밀번호";
int port=995;
Properties props = System.getProperties();
props.put("mail.pop3.host", host);
props.put("mail.pop3.port", port);
props.put("mail.pop3.auth", "true");
props.put("mail.pop3.ssl.enable", "true");
props.put("mail.pop3.ssl.trust", host);
Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {
String un=username;
String pw=password;
protected javax.mail.PasswordAuthentication getPasswordAuthentication() {
return new javax.mail.PasswordAuthentication(un, pw);
}
});
session.setDebug(false);
Store store = session.getStore("pop3");
store.connect();
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
Message[] messages = folder.getMessages();
for(Message message : messages) {
System.out.print(":::::::::::::::::::::::::::::::::::");
System.out.println(message.getSubject());
}
store.close();
}
}
아래와 같이 응용할 수도 있다.