2013-01-08 17 views
1

我有代碼:JAVAMAIL不讀郵件多重/相關

Message[] arrayMessages = folderInbox.getMessages(); 

     for (int i = 0; i < arrayMessages.length; i++) { 
      Message message = arrayMessages[i]; 
      Address[] fromAddress = message.getFrom(); 
      String from = fromAddress[0].toString(); 
      String subject = message.getSubject(); 
      String sentDate = message.getSentDate().toString(); 

      String contentType = message.getContentType(); 
      String messageContent = ""; 

      // store attachment file name, separated by comma 
      String attachFiles = ""; 

      if (contentType.contains("multipart")) { 
       // content may contain attachments 
       Multipart multiPart = (Multipart) message.getContent(); 
       int numberOfParts = multiPart.getCount(); 
       for (int partCount = 0; partCount < numberOfParts; partCount++) { 
        MimeBodyPart part = (MimeBodyPart) multiPart.getBodyPart(partCount); 
        if (Part.ATTACHMENT.equalsIgnoreCase(part.getDisposition())) { 
         // this part is attachment 
         String fileName = part.getFileName(); 
         attachFiles += fileName + ", "; 
         part.saveFile(saveDirectory + File.separator + fileName); 
        } else { 
         // this part may be the message content 
         messageContent = part.getContent().toString(); 
        } 
       } 

       if (attachFiles.length() > 1) { 
        attachFiles = attachFiles.substring(0, attachFiles.length() - 2); 
       } 
      }else if (contentType.contains("text/plain")|| contentType.contains("text/html")) { 
       Object content = message.getContent(); 
       if (content != null) { 
        messageContent = content.toString(); 
       } 
      } 

      // print out details of each message 
      System.out.println("Message #" + (i + 1) + ":"); 
      System.out.println("\t From: " + from); 
      System.out.println("\t Subject: " + subject); 
      System.out.println("\t Sent Date: " + sentDate); 
      System.out.println("\t Typ wiadomosci: " + contentType); 
      System.out.println("\t Message: " + messageContent); 
      System.out.println("\t Attachments: " + attachFiles); 
      System.out.println("------------------------------------------------"); 
     } 

此代碼獲取電子郵件帶有附件,我有收到電子郵件類型的問題:多部分/相關。而不是郵件我有:[email protected][email protected]

+0

也許有幫助,請參閱我的問題在這裏:http://stackoverflow.com/questions/12955010/reading-mails-sent-from-gmail – ThePCWizard

+0

你可能會得到更多的幫助,如果你發佈了一個SSCCE(http:// sscce .org等/)。 –

回答

0

多部分/相關部分顯示爲Java類型MimeMultipart。

+0

Thx的答案我讀這篇文章: http://objectmix.com/java/182352-extract-parts-multipart-related-email-using-java-mail-api.html 但我不知道如何使用MimeMultipart,你能幫助我嗎? – user1957895

+0

我不會給你一個關於使用MimeMultipart的教程,但是你可以在JavaMail網站上找到大量的教程,文檔和例子。您可能想從[JavaMail FAQ](http://www.oracle.com/technetwork/java/javamail/faq/index.html)開始。 –

相關問題