案例代碼以下html
//建立屬性對象 Properties p = new Properties(); p.put("mail.imap.auth.login.disable", "true");//身份驗證 p.put("mail.imap.host", "imap.qq.com");//主機 p.put("mail.store.protocol", "imap");//協議 p.put("mail.imap.port", "993");//端口 //qq郵箱須要ssl加密 p.put("mail.smtp.socketFactory.port","993"); p.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); //建立會話對象 Session session = Session.getInstance(p); //存儲對象 Store store = session.getStore("imap"); //連接 store.connect("2960036795@qq.com", "lylglvicofzodghf"); //建立目錄對象 Folder folder = store.getFolder("Inbox"); //打開模式:只讀 folder.open(Folder.READ_ONLY); //獲取消息,數組 Message[] ms = folder.getMessages(); //預提取對象 FetchProfile fp = new FetchProfile(); //屬性 fp.add(FetchProfile.Item.ENVELOPE); //內容 fp.add(FetchProfile.Item.CONTENT_INFO); //標誌屬性 fp.add(FetchProfile.Item.FLAGS); //x-mailer屬性 fp.add("x-mailer"); //提取 folder.fetch(ms, fp); //遍歷 for(Message m : ms) { String title = m.getSubject(); //獲取郵件的標題 int size = m.getSize(); //獲取郵件的大小 String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(m.getSentDate());//獲取郵件的接受時間 System.out.println("標題:"+title); System.out.println("大小:"+size); System.out.println("接受時間:"+date); Object obj = m.getContent();//獲取郵件內容 //內容類型判斷 //村文本內容 if(m.isMimeType("text/plain") || m.isMimeType("text/html")) { System.out.println("內容:"+obj); } //多個組件內容 if(m.isMimeType("multipart/*")) { //強制轉爲多個組件類型 Multipart part = (Multipart) obj; //遍歷每一個組件 for(int i=0;i<part.getCount();i++) { //每一個組件內容 BodyPart body = part.getBodyPart(i); //判斷組件內容的類型 //純文字 if(body.isMimeType("text/plain") || body.isMimeType("text/html")) { System.out.println("內容:"+body.getContent()); } //附件 if(body.isMimeType("application/octet-stream")) { String fileName = body.getFileName(); //獲取附件的文件名 fileName = MimeUtility.decodeText(fileName);//解碼 //存取當前附件 //使用輸入輸出流存儲 InputStream is = body.getInputStream(); OutputStream os = new FileOutputStream("F:\\yujun\\linshi\\"+fileName); byte[] b = new byte[1024]; int len = 0; while((len=is.read(b)) != -1) { os.write(b, 0, len); } is.close(); os.close(); } } } }
相關學習資料:http://www.javashuo.com/article/p-euifjxqv-b.htmljava