标签:/**

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 findResults = service.findItems(inbox.getId(), view);

for (Item item : findResults.getItems()) {

EmailMessage message = EmailMessage.bind(service, item.getId());

List 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;

}

标签:

java如何接收邮件_java Exchange服务接收邮件相关推荐

  1. java控制台计算数字_java从控制台接收一个数字

    //时间:2017/7/22 //作者:江骆 //功能:从控制台接收一个数 import java.io.*;  //引入一个IO流的包 public class helloworld1 { publ ...

  2. java 16进制_JAVA十六进制数据接收与传输

    由于项目中经常遇到与设备进行交互获取数据,不仅有Python版本.还有Java版本,还可能会有C#版本,在此做个记录. 一.十六进制转换工具类 主要包含十六进制字符串转ASCII,ASCII转十六进制 ...

  3. java 注解报错_java注解验证接收参数 返回注解字段的错误

    1.在controller接口方法接收参数加上 @Valid注解 并且在实体类参数后紧跟 BindingResult bindingresul BindingResultMsgUtil工具类: pub ...

  4. java后台接收参数_java 后台如何 接收 uploader UploadFileOptions 参数

    Uploader Example // 扩展API加载完毕后调用onPlusReady回调函数 document.addEventListener( "plusready", on ...

  5. java如何接收十六进制_JAVA十六进制数据接收与传输

    由于项目中经常遇到与设备进行交互获取数据,不仅有Python版本.还有Java版本,还可能会有C#版本,在此做个记录. 一.十六进制转换工具类 主要包含十六进制字符串转ASCII,ASCII转十六进制 ...

  6. java发送qq邮箱_Java 发送QQ邮箱邮件

    如果需要提供用户名和密码给e-mail服务器来达到用户认证的目的,你可以通过如下设置来完成: props.put("mail.smtp.auth", "true" ...

  7. java web 跨域_java web服务端CORS跨域配置

    CORS介绍 CORS-CrossOrigin Resource Sharing,即跨域资源共享,它定义了一种服务器和浏览器的交互方式来确定是否允许跨域请求.CORS简单灵活,但有风险性,能实现aja ...

  8. java excel模板 下载_Java从服务端下载Excel模板文件

    /** * 描述:下载外部案件导入模板 * @param response * @param request * @author songfayuan * 2018年6月7日下午5:03:59 */ ...

  9. java接收邮件_Java实现邮件收发

    一. 准备工作 1. 传输协议 SMTP协议-->发送邮件: 我们通常把处理用户smtp请求(邮件发送请求)的服务器称之为SMTP服务器(邮件发送服务器) POP3协议-->接收邮件: 我 ...

最新文章

  1. 世界领先!详解蚂蚁金服自研数据库OceanBase的高可用及容灾方案
  2. java map 结构体_业务代码的救星——Java 对象转换框架 MapStruct 妙用
  3. FPGA之道(65)代码中的约束信息(二)乘法器的相关约束
  4. javascript DOM innerHTML createElement createTextNode
  5. 设计模式--桥(Bridge)模式
  6. 【转】SVN 与 GIT 详细对比
  7. 深入探讨数据仓库建模与ETL的实践技巧
  8. 前端学习(3205):对state的理解
  9. T-SQL 字符串前加 N 是什么意思
  10. java互喷群,夸夸群和喷喷群的心里需求和投资如此相似
  11. ubuntu下OpenPose的安装、使用、初步介绍
  12. 百度云 自然语言处理(Nlp)
  13. win7开启ftp被动模式_什么是FTP功能?Win7旗舰版下如何开启FTP功能?
  14. 正则正数,负数,整数,浮点数校验大全
  15. 《黑客与画家:硅谷创业之父Paul Graham文集》----读书笔记
  16. 关于某normal大学数据库登录的一个尝试
  17. html格式化整理输出JSON示例(测试)
  18. Python-接口自动化流程(pytest)
  19. 独家解读:你所不知道的阿里1688
  20. SecureFX中文乱码终极解决方案

热门文章

  1. 关于C语言中单双引号的问题
  2. 单元测试:使用mocha和should.js搭建nodejs的单元测试
  3. 如何扩大控件的触控响应区域
  4. 虚拟启动光盘-从ISO光盘镜像引导系统
  5. linux avahi-daemon进程 网络服务 简介
  6. python flask 设置 header 响应体、响应头、状态码
  7. linux openssl 反弹加密 shell
  8. javascript jquery 获取select选中的值
  9. python3 str bytes bytearray 互相转换
  10. 无线传感器网络--分簇或者不分簇