java Exchange服务接收邮件

/**
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;
	}


转载于:https://my.oschina.net/u/2291124/blog/525136

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值