2015-11-02 82 views
0

代碼段用於寫入文件 -
如何讀取從.eml文件的多個電子郵件使用JavaMail

ObjectOutputStream objOut = new ObjectOutputStream(new 
       FileOutputStream(new File("inboxEmails.eml")) 

       for (Message message : messages) { 
        message.writeTo(objOut); 
        System.out.println("Writing to file"); 
       } 
      } 

消息是具有超過30的消息的陣列。
檢索 -

   Properties props = new Properties(); 
       props.setProperty("mail.store.protocol", "imaps"); 

       Session session = Session.getDefaultInstance(props, null); 

       InputStream source = inboxFile; 
       MimeMessage message = new MimeMessage(session, source); 

這讓我只有一個消息。我想檢索對象列表中的所有消息(30)。

回答

1

通常.eml文件只包含一條消息。如果要將多條消息寫入單個文件,該文件實際上變成了一個包含多條消息的文件夾,並且您需要執行某些操作來分隔消息,然後您需要檢查此分隔並顯示MimeMessage構造函數與一個尊重這種分離的InputStream。執行此操作的最常見方法是使用JavaMail mbox provider支持的UNIX mbox format

相關問題