ExchangeServeice获取在线outlook邮箱中的未读邮件
using Microsoft.Exchange.WebServices.Data;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks; namespace ExchangeTest
{
class Program
{
static ExchangeService service;
static string userEmail = "xxxxx@abcd.onmicrosoft.com";
static string userPassword = "xxxxx"; static void Main(string[] args)
{
Console.WriteLine("Connecting to Exchange Online, please wait...");
service = new ExchangeService(ExchangeVersion.Exchange2013);
service.Credentials = new WebCredentials(userEmail, userPassword);
service.AutodiscoverUrl(userEmail, RedirectionUrlValidationCallback); //获取未读邮件数
int unRead = Folder.Bind(service, WellKnownFolderName.Inbox).UnreadCount; GetUnreadEmails();
} /// <summary>
/// 获取邮件
/// </summary>
private static void GetUnreadEmails()
{
ItemView view = new ItemView(int.MaxValue);
FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, SetFilter(), view);
List<string> list = new List<string>(); foreach (Item item in findResults.Items)
{
if (item.Subject != null)
{
list.Add(item.Subject.ToString());
}
else
{
list.Add("无标题");
}
//list.Add(item.DateTimeSent.ToString());
}
} /// <summary>
/// 设置获取什么类型的邮件
/// </summary>
private static SearchFilter SetFilter()
{
List<SearchFilter> searchFilterCollection = new List<SearchFilter>();
searchFilterCollection.Add(new SearchFilter.IsEqualTo(EmailMessageSchema.IsRead, false));
SearchFilter s = new SearchFilter.SearchFilterCollection(LogicalOperator.And, searchFilterCollection.ToArray()); //如果要获取所有邮件的话代码改成这样:
//List<SearchFilter> searchFilterCollection = new List<SearchFilter>();
//searchFilterCollection.Add(new SearchFilter.IsEqualTo(EmailMessageSchema.IsRead, false));
//searchFilterCollection.Add(new SearchFilter.IsEqualTo(EmailMessageSchema.IsRead, true));
//SearchFilter s = new SearchFilter.SearchFilterCollection(LogicalOperator.Or, searchFilterCollection.ToArray()); return s;
} /// <summary>
/// 重定向URL验证回调
/// </summary>
static bool RedirectionUrlValidationCallback(String redirectionUrl)
{
bool redirectionValidated = false;
if (redirectionUrl.Equals("https://autodiscover-s.outlook.com/autodiscover/autodiscover.xml"))
redirectionValidated = true; return redirectionValidated;
} }
}
ExchangeServeice获取在线outlook邮箱中的未读邮件的更多相关文章
- outlook——还原“未读邮件”文件夹
参考链接:http://office.microsoft.com/zh-cn/outlook-help/HA010283248.aspx 摘抄: 还原“未读邮件”文件夹 全部显示 全部隐藏 “未读邮件 ...
- 利用腾讯企业邮箱开放API获取账户未读邮件数初探
公司一直使用腾讯提供的免费企业邮箱服务,今天用管理员帐户登录后发现,原来现在腾讯的企业邮箱也开放了部分API 你可以通过开放接口实现以下功能: 数据同步 数据同步可以帮助你同步部门成员信息,你还可以创 ...
- 采用模拟账号读取Exchange server未读邮件的注意事项(链接邮箱问题)【转】
最近做项目碰到Exchange中,用EWS API方法读取的未读邮箱(ConnectingIdType.PrincipalName设置该属性的方法)附带代码部分: 核心代码 using Microso ...
- Outlook查找未读邮件
1.查找新邮件的未读邮件,可以在下图中查找 2.恢复已删除邮件,如果邮件是未读邮件,在上图中是查找不到,只能通过视图去查找 步骤2内容摘自百度
- dovecot--查询未读邮件个数
最近负责的邮箱系统项目中有一个这样的需求:提供一个接口给业务层,可以通过邮箱查询到该用户的未读邮件个数. 之前的方案是通过查看用户目录下.INBOX/new目录中的文件个数,但是这个方法不准确,当有用 ...
- MailKit---如何知道文件夹下有多少封未读邮件
如果在mailkit中,文件夹已经选中并打开了的话,那直接使用ImapFolder.Unread属性就可以获取到有多少封未读邮件了. 如果文件夹没有打开,那么你还可以使用查询状态的方法来获取未读状态的 ...
- 一种读取Exchange的用户未读邮件数方法!
已好几个月没写博客了,由于之前忙于开发基于Sharepoint上的移动OA(AgilePoint)和采用混合移动开发技术开发一个安卓版的企业通讯录APP(数据与lync一致),并于1月初正式上线.马年 ...
- 在WebPart中获取Office 365中的未读邮件数
// Create the web request HttpWebRequest request = WebRequest.Create("https://outlook.office365 ...
- 读取Exchange的用户未读邮件数的几种方法
[http://www.cnblogs.com/nbpowerboy/p/3539422.html] 可以使用ExchangeServiceBinding获取邮件,他相当于outlook, 来获取服务 ...
随机推荐
- 设置UINavigationController相同标题
设置UINavigationController相同标题,让UINavigationController内的每一个ViewController的标题都一样,可以使用以下设置. UINavigation ...
- 异步编程之Promise(3):拓展进阶
异步编程系列教程: (翻译)异步编程之Promise(1)--初见魅力 异步编程之Promise(2):探究原理 异步编程之Promise(3):拓展进阶 异步编程之Generator(1)--领略魅 ...
- Linux下的hostname命令详解
1.临时修改: #hostname ***** //*****为修改的hostname 2.永久修改: # vi /etc/sysconfig/networkNETWORKING=yesHOSTNAM ...
- HDU 2042 不容易系列之二 [补6.24] 分类: ACM 2015-06-26 20:40 9人阅读 评论(0) 收藏
不容易系列之二 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
- G450 Ubuntu14 无线网卡解决
安装了Ubuntu14,与win7共存. grub界面启动. G450的本子,安装完之后发现无线网卡不能被驱动,但能被之别到,因此激活一次broadcom sta wireless driver 命令 ...
- flask中的request对象方法
'accept_charsets','accept_encodings','accept_languages','accept_mimetypes','access_route','applicati ...
- QListWidgetItem带上颜色的问题
new_item = QListWidgetItem(_fromUtf8(item_content), self.listWidget) 首先创建一个QListWidgetItem,第一个参数内容是I ...
- JavaScript事件处理的三种方式(转)
一.什么是JavaScript事件? 事件(Event)是JavaScript应用跳动的心脏,也是把所有东西粘在一起的胶水,当我们与浏览器中Web页面进行某些类型的交互时,事件就发生了. 事件可能是用 ...
- android 动画NineOldAndroid
NineOldAndroid 1.之前我们用到的第动画是frame和tween动画也就是帧动画,补间动画现在多了一种动画,它包含完了前面动画的所有状态. 属性动画(Property Anmation) ...
- C:基本语句
基本语句知识 do{}while(); 与 while()do{}:for :while 语句的区别: while()do{}:先判断条件是否成立,条件满足则执行循环体 do{}while();是先执 ...