/** serverName 接收郵件地址 user 用戶信息 pwd 密碼 path 郵件臨時儲存路徑 max 每次接收郵件的最大數量 **/ public int receive(String serverName, String user, String pwd, String path, int max) throws Exception { //新建ExchangeVersion.Exchange2007_SP1版本的Exchange服務 ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1); String[] userInfo = user.split("/"); //用戶認證信息 ExchangeCredentials credentials = new WebCredentials(userInfo[1], pwd,userInfo[0]); service.setCredentials(credentials); //設置Exchange鏈接的服務器地址 service.setUrl(new URI(serverName)); //綁定郵箱 Folder inbox = Folder.bind(service, WellKnownFolderName.Inbox); //獲取郵箱文件數量 int count = inbox.getTotalCount(); if(max > 0) count = count > max ? max : count; //循環獲取郵箱郵件 ItemView view = new ItemView(count); FindItemsResults<Item> findResults = service.findItems(inbox.getId(), view); for (Item item : findResults.getItems()) { EmailMessage message = EmailMessage.bind(service, item.getId()); List<Attachment> attachs = message.getAttachments().getItems(); try{ if(message.getHasAttachments()){ for(Attachment f : attachs){ if(f instanceof FileAttachment){ //接收郵件到臨時目錄 File tempZip = new File(path,f.getName()); ((FileAttachment)f).load(tempZip.getPath()); } } //刪除郵件 message.delete(DeleteMode.HardDelete); } }catch(Exception err){ log.equals(err); } } return count; }