使用Exchange获取邮件内容
本篇文章是利用Exchange协议来获取已发送邮件的内容。
1.依赖:
<!--Exchange的api接口依赖--><dependency><groupId>com.microsoft.ews-java-api</groupId><artifactId>ews-java-api</artifactId><version>2.0</version></dependency><!--slf4j-api--><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.32</version></dependency>
2.具体代码:
public class EWSUtils {private static Logger log = LoggerFactory.getLogger(EWSUtils.class);public static ExchangeService getExchangeService(String username, String password, String domain) throws Exception {log.info("Begin to connect to server " + username);ExchangeService exService = new ExchangeService(ExchangeVersion.Exchange2010_SP1);//参数是⽤户名,密码,域ExchangeCredentials credentials = new WebCredentials(username, password);//exService.setTraceEnabled(true);exService.setCredentials(credentials);//给出Exchange Server的URL http://xxxxxxxexService.setUrl(new URI("https://" + domain + "/ews/Exchange.asmx"));return exService;}/*** 功能:获取邮件内容并保存到⽂件夹中** @param username* @param password* @param domain* @param viewCount* @param beginDate* @throws Exception*/public static boolean readMailByEWS(String username,String password,String domain,int viewCount,Date beginDate,Date endDate) throws Exception {ExchangeService exService = getExchangeService(username, password, domain);//绑定邮箱Folder inbox = Folder.bind(exService, WellKnownFolderName.Inbox);ItemView view = new ItemView(viewCount);//view.getOrderBy().add(ItemSchema.DateTimeReceived, SortDirection.Descending);view.getOrderBy().add(ItemSchema.DateTimeReceived, SortDirection.Descending);view.setPropertySet(new PropertySet(ItemSchema.DateTimeReceived));//创建过滤器SearchFilter searchFilter = new SearchFilter.SearchFilterCollection(LogicalOperator.And,new SearchFilter.IsGreaterThanOrEqualTo(ItemSchema.DateTimeReceived, beginDate),new SearchFilter.IsLessThanOrEqualTo(ItemSchema.DateTimeReceived, endDate));FindItemsResults<Item> findResults = exService.findItems(inbox.getId(), searchFilter, view);if (findResults != null && findResults.getTotalCount() > 0) {exService.loadPropertiesForItems(findResults, PropertySet.FirstClassProperties);for (Item item : findResults.getItems()) {EmailMessage msg = EmailMessage.bind(exService, item.getId());System.out.println("邮件内容 :" + msg.getBody());}}throw new Exception("邮件正文找不到!");}
}
使用Exchange获取邮件内容相关推荐
- python 读取邮件内容_python获取邮件内容(邮件内容为html)
用python获取邮件内容比较简单,直接用现成的imap和pop3包即可,但是有时候邮件的内容不是plainText而是html甚至是一个url链接,原本的操作流程是点击url获取内容(比如csv等等 ...
- java 邮件 内容_JAVA怎么获取邮件内容
网上找了一份James+Javamail构建邮件服务教材,但关于打印该邮件的内容没细讲,直说了一句只要将message[i]对象中的邮件内容等信息读取出来就可以了,求大神指点下//初始化主机Strin ...
- python爬取邮件内容_python 接收邮件获取邮件内容
收取邮件有两种协议,POP3和IMAP,POP3相对于IMAP功能较少无法对邮件进行更深层次的操作,因此本文使用IMAP协议收取邮件.python提供了很多收邮件的模块,本文使用imaplib来接收邮 ...
- python获取邮件内容_python 接收邮件获取邮件内容
收取邮件有两种协议,POP3和IMAP,POP3相对于IMAP功能较少无法对邮件进行更深层次的操作,因此本文使用IMAP协议收取邮件.python提供了很多收邮件的模块,本文使用imaplib来接收邮 ...
- .net借助LumiSoft.dll获取邮件内容和附件
首先三个引用 using LumiSoft.Net.Mail; using LumiSoft.Net.MIME; using LumiSoft.Net.POP3.Client; 然后代码 using ...
- WinForm邮件内容编辑器的简单实现
1.概述 在WinForm开发中,您可能会碰到发送邮件时内容编辑的问题,大部分开发人员第一个想法是希望将 WinForm中的内容编辑器做到和.NET 中类似FCK一样.今天我们就来介绍下如 ...
- python模拟登录163邮箱_python模拟登陆163邮箱并下载邮件内容(第三版代码片段)
python模拟登陆163邮箱并下载邮件内容(第三版代码片段) 注意: 1 由于163邮箱有众多版本,所以登录请求URL,邮件URL等可能也不太一样,下面是163的简约3.0 2 代码缺乏错误处理能力 ...
- 用POP3获取邮箱邮件内容,支持SSL验证登陆(完整C#源码)
延续上一篇用POP3获取邮箱邮件内容(C#源码) 上一篇中提到一个问题,网上一般流传的是非SSL验证登陆的,适用163之类的邮箱,但是QQ邮箱一般都是登陆不上的.这次我来提供一个支持SSL验证登陆的方 ...
- python自动获取邮件数据_Python 获取测试报告内容并发送邮件
这里封装一个send_mail()方法,用于测试完成后读取测试报告内容并将测试结果发送邮件通知接收人 # coding: utf-8 import smtplib from email.mime.te ...
最新文章
- 干货丨深度解析机器学习五大流派中主算法精髓
- OpenCV学习(4) Mat的基本操作(1)
- 洗洗睡了吧啊,何必在意……费口舌不热么
- 阿里云服务器CentOS7版本yum方式安装mysql
- B-tree/B+tree/B*tree
- Leetcode199二叉树右视图[C++题解]:BFS+层数
- UIBezierPath和CAShapeLayer画直线、CGContextRef画直线两种方案
- 计算机无法维修技术鉴定,计算机维修工技能鉴定(初级)剖析..pdf
- service sshd start启动失败,Badly formatted port number.
- 容器的进程与namespace、rootfs
- 这4个小程序为什么有很多人在用,仅仅是因为不占手机内存空间?
- KGDiscreetAlertView
- Java中的try/catch/finally
- 大数据Hadoop学习(一)入门
- off cpu linux,宋宝华: 用off-cpu火焰图进行Linux性能分析
- 这是我转载的一篇,真的是不错《把SWF变回FLA》大家可以试试
- oracle 总僵尸进程,subprocess子进程kill后存在僵尸进程的原因及处理方法
- 马云:今天互联网创业还靠免费是死路一条
- DSP28335的eCAP模块
- 陕西二级分销系统开发适合做什么业务?