java 读取 MS Outlook 收件箱

java read MS Outlook inbox

我想使用 java (SE) 在 MS Outlook (2010) 中阅读我的收件箱,然后将 message/email 移动到另一个文件夹。我曾尝试在网络上搜索,但只找到了许可的解决方案或几年前的帖子。有人对此步骤有解决方案吗?非常感谢您的帮助!

可以使用 javax.mail 完成,但很大程度上取决于服务器协议和身份验证等。

无论如何,这是一个片段(假设是 imap):

设置您的属性:

Properties props = new Properties();        
props.setProperty("mail.store.protocol", "imap");
props.setProperty("mail.imap.user", <user>);
props.setProperty("mail.imap.host", <host>);
props.setProperty("mail.imap.port", <port 143>);
...

获取会话并连接

Session mailSession = Session.getInstance(props);   
Store mailStore = mailSession.getStore("imap");
mailStore.connect(<host>, <user>, <passwd>);                    
Folder dFolder = mailStore.getDefaultFolder();
Folder inbox = dFolder.getFolder(<connectFolder=INBOX?>);
inbox.open(Folder.READ_WRITE);

 // Open destination folder, create if reqd
Folder destfolder = mailStore.getFolder(<destination folder>);
if (!destfolder.exists())
   destfolder.create(Folder.HOLDS_MESSAGES);

Message []inMessages = inbox.getMessages();
if (inMessages .length != 0) {
    inbox.copyMessages(inMessages , destfolder);

    for (int i=0; i< inMessages.length; i++) { 
      // Custom Processor which readsMessages and performs some action.
      // getProcessor().readMessage(inMessages[i]);
       inMessages[i].setFlag(Flags.Flag.DELETED, true);
    }
}

希望对您有所帮助