package hil.mail.pop3; import hil.util.ConversionUtil; import java.util.Date; import java.util.Properties; import javax.mail.*; public class POP3Test { private Session sess; private Store store; private Folder folder; private String user ="user"; private String password = "password"; private String popserver = "wm-out1.epost.go.kr"; private String smtpserver = "smtp.gmail.com"; private Object getMail(){ Properties prop = System.getProperties(); prop.put("mail.smtp.host", smtpserver); sess = Session.getInstance(prop, null); // ¼¼¼Ç smtp ½ÃÀÛ System.out.println("session Start!"); try { store = sess.getStore("pop3"); System.out.println("pop3 store Start!"); store.connect(popserver, user, password); // pop3 ¿¡ ½ºÅä¾î·Î ¿¬°áµÊ System.out.println("store Connection!"); folder = store.getFolder("INBOX"); // store¸¦ ÅëÇØ ÆíÁöÇÔ¿¡ Á¢±ÙÇÕ´Ï´Ù. folder.open(Folder.READ_ONLY); // Inbox ¹ÞÀºÆíÁöÇÔÀ» ¿±´Ï´Ù. System.out.println("folder Open!"); Message[] messages = folder.getMessages(); // Message ´Â ÆíÁö¸¦ ÀǹÌÇÕ´Ï´Ù. int messageCnt = folder.getMessageCount(); int unReadMessgae = folder.getUnreadMessageCount(); //ÀÐÁö ¾ÊÀº ¸Þ½ÃÁö System.out.println("messages count : "+messageCnt +"/"+unReadMessgae+" messages"); for (int i=0;i1) { System.out.println("222"); String mimeChar = ctype.substring( index + 8); charSet = MimeUtility.javaCharset(mimeChar); System.out.println("charSet:"+charSet); } if(charSet.startsWith("\"")) { System.out.println("333"); charSet = ConversionUtil.toKorean(charSet); } if(encType.equals("base64")){ System.out.println("444"); Object cont = msg.getContent(); if(cont instanceof java.io.ByteArrayInputStream ){ System.out.println("555"); byte [] buf = new byte[1024]; int readSize = 0; ByteArrayInputStream in = (ByteArrayInputStream) cont; while((readSize=in.read(buf, 0, 1024)) != -1) { sBody+=new String(buf, 0, readSize)+"
"; } }else{ sBody=MailDecode((String)cont, charSet); } }else{ String fileName; int fileSize; if((fileName=msg.getFileName()) != null){ System.out.println("888"); if(fileName.startsWith("=?")){ System.out.println("777"); fileName=decodeHeader(fileName); fileName=ConversionUtil.toKorean(fileName); } fileSize=msg.getSize(); ContentType ct=new ContentType(ctype); AttachInfo ai = new AttachInfo(); ai.filename=fileName; ai.size=""+fileSize; ai.type=ct.getBaseType(); ai.desc=msg.getDescription(); if(ai.desc==null) ai.desc=""; sAttachFile.addElement(ai); } else { System.out.println("666"); Object cont = msg.getContent(); sBody=MailDecode((String)cont, charSet); if(!charSet.equals("ks_c_5601-1987")) sBody=Util.toKorean(sBody); } } } catch (Exception ex ) { sBody="getBodyText : "+ex; } return sBody; } */ /* private String getBody(Folder folder){ String sbody =""; try{ FetchProfile fp = new FetchProfile(); fp.add(UIDFolder.FetchProfileItem.UID); folder.fetch(folder.getMessages(), fp); Message[] messages = folder.getMessages(); for(int i = 0; i < messages.length; i++) { System.out.println("-------------------Message " + (i+1) + " --------------------"); Object body = messages[i].getContent(); System.out.println("contentType : " + messages[i].getContentType() ); if(body instanceof Multipart) { Multipart mp = (Multipart)(messages[i].getContent()); int count = mp.getCount(); System.out.println("contentType : " + mp.getBodyPart(1).getContentType() ); } sbody = body.toString(); } } catch ( Exception e ) { e.printStackTrace(); } return sbody; }*/ private String getBody(Message[] msg, int cnt){ String sbody =""; try{ Object body = msg[cnt].getContent(); System.out.println("contentType : " + msg[cnt].getContentType() ); if(body instanceof Multipart) { Multipart mp = (Multipart)(msg[cnt].getContent()); // TODO } sbody = body.toString(); } catch ( Exception e ) { e.printStackTrace(); } return sbody; } private String getSendDate(Message[] msg, int cnt) throws MessagingException{ Date date = msg[cnt].getSentDate(); // ¹ÞÀº ³¯Â¥ ³¯Â¥ Æ÷¸Ë¿¡ ¸ÂÃç ¹Ù²Ù¼¼¿ä. if(date == null) return ""; else return date.toString(); // Multipart multipart = (Multipart)message[i].getContent(); } private String getSubject(Message[] msg, int cnt) throws MessagingException{ String subject[] = msg[cnt].getHeader("subject"); //Á¦¸ñ subject[0] ÀÌ Á¦¸ñÀÔ´Ï´Ù. //String subject[] = msg[cnt].getSubject(); À̰͵µ °¡´É if(subject == null || subject[0] == null) return ""; else return ConversionUtil.toKorean(subject[0]); } private String getFrom(Message[] msg, int cnt) throws MessagingException{ Address addr = msg[cnt].getFrom()[0]; //º¸³½ »ç¶÷ ÁÖ¼Ò if(addr == null) return ""; else return ConversionUtil.toKorean(addr.toString()); } public static void main(String args[]){ new POP3Test().getMail(); } }