从Java应用程序从MS Exchange Server检索邮件

时间:2012-07-23 12:26:12

标签: java outlook javamail exchange-server

在MS Exchange中收到新邮件时,在Java应用程序中启动方法有哪些选项?这有什么样的网络服务吗?或者我可以从Outlook文件夹中获取它吗?或者我应该像这样使用Java Mail - 每隔几秒检查一次收件箱文件夹:

Properties props = System.getProperties();
 props.setProperty("mail.store.protocol", "imaps"); 
 Session session = Session.getDefaultInstance(props, null);
 Store store = session.getStore("imaps");
 store.connect("<impap_address>","<mail ID> ", "<Password>");

 inbox = store.getFolder("Inbox");
 System.out.println("No of Unread Messages : " + inbox.getUnreadMessageCount());
 inbox.open(Folder.READ_ONLY);

 /*  Get the messages which is unread in the Inbox*/
 Message messages[] = inbox.search(new FlagTerm(new Flags(Flag.SEEN), false));

这个看起来对我来说最自然,但IMAP目前尚未在公司的Exchange服务器上激活,我想找到其他方法来解决这个问题。

还有其他选择吗?

2 个答案:

答案 0 :(得分:2)

查找名为JWebDAV和JWebServices for Exchange的Java API。 它是WebDAV和EWS协议的Java实现。

答案 1 :(得分:1)

Exchange已经webservices但作为.Net开发人员,我只使用官方SDK,它是Web服务的包装器。 Exchange 2003和2007有一个webdav接口,但在2010年已被删除。这两种方法都应该与所使用的客户端技术无关,但我没有从Java中使用它的第一手经验。