// 準備鏈接服務器的會話信息 Properties props = new Properties(); props.setProperty("mail.store.protocol", "imap"); props.setProperty("mail.imap.host", "imap.163.com"); props.setProperty("mail.imap.port", "143"); // 建立Session實例對象 Session session = Session.getInstance(props); // 建立IMAP協議的Store對象 Store store = session.getStore("imap"); // 鏈接郵件服務器 store.connect("186*******", "111111"); // 得到收件箱 Folder folder = store.getFolder("INBOX"); // 以讀寫模式打開收件箱 folder.open(Folder.READ_WRITE); // 得到收件箱的郵件列表 Message[] messages = folder.getMessages(); // 打印不一樣狀態的郵件數量 System.out.println("收件箱中共" + messages.length + "封郵件!"); System.out.println("收件箱中共" + folder.getUnreadMessageCount() + "封未讀郵件!"); System.out.println("收件箱中共" + folder.getNewMessageCount() + "封新郵件!"); System.out.println("收件箱中共" + folder.getDeletedMessageCount() + "封已刪除郵件!"); System.out.println("------------------------開始解析郵件----------------------------------"); // 解析郵件 for (Message message : messages) { IMAPMessage msg = (IMAPMessage) message; msg.setFlag(Flags.Flag.SEEN, true); // String subject = MimeUtility.decodeText(msg.getSubject()); // System.out.println("[" + subject + "]未讀,是否須要閱讀此郵件(yes/no)?"); // BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); // String answer = reader.readLine(); //www.2cto.com // if ("yes".equalsIgnoreCase(answer)) { //// POP3ReceiveMailTest.parseMessage(msg); // 解析郵件 // // 第二個參數若是設置爲true,則將修改反饋給服務器。false則不反饋給服務器 // msg.setFlag(Flags.Flag.SEEN, true); //設置已讀標誌 // } } // 關閉資源 folder.close(false); store.close();
pop3是不能夠更改郵件狀態的,服務器
因此改用imap協議session