永发信息网

java怎么连接exchange收发邮件

答案:3  悬赏:20  手机版
解决时间 2021-01-26 10:19
  • 提问者网友:夢醒日落
  • 2021-01-26 01:30
java怎么连接exchange收发邮件
最佳答案
  • 五星知识达人网友:平生事
  • 2021-01-26 01:51

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;
}
全部回答
  • 1楼网友:慢性怪人
  • 2021-01-26 03:42
找 exchange 的 JAVA接口 ~ ~ ~
  • 2楼网友:时间的尘埃
  • 2021-01-26 03:28
publicintreceive(stringservername,stringuser,stringpwd,stringpath,intmax)throwsexception{//新建exchangeversi
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯