监听outlook新邮件
来源:互联网 发布:淘宝刷单处罚规则 编辑:程序博客网 时间:2024/06/07 06:41
监听outlook新邮件
using System;using System.Linq;using Microsoft.Office.Interop.Outlook;using System.Collections.Generic;namespace EmailReceiver{ class Program { static ApplicationClass outlookApp = new Microsoft.Office.Interop.Outlook.ApplicationClass(); static NameSpace ns; static void Main(string[] args) { Console.WriteLine("start to monitor new emails"); ns = outlookApp.GetNamespace("MAPI"); outlookApp.NewMailEx += new ApplicationEvents_11_NewMailExEventHandler(outlookApp_NewMailEx); outlookApp.NewMail += new ApplicationEvents_11_NewMailEventHandler(outlookApp_NewMail); while (true) { } } static void outlookApp_NewMail() { Console.WriteLine("a new message comes: new email"); } static void outlookApp_NewMailEx(string EntryIDCollection) { Console.WriteLine("a new message comes"); AnalyzeNewItem(EntryIDCollection); } private static void AnalyzeNewItem(string entry) { var inbox = ns.GetDefaultFolder(OlDefaultFolders.olFolderInbox); List<MailItem> allmails = new List<MailItem>(); foreach (var item in inbox.Items) { if (item is MailItem) { var mail = item as MailItem; allmails.Add(mail); } } var latest = allmails.Max(s => s.ReceivedTime); var latestMailItem = allmails.FirstOrDefault(s => s.ReceivedTime == latest); if (latestMailItem != null) { Console.WriteLine(latestMailItem.Subject); Console.WriteLine(latestMailItem.To); Console.WriteLine(latestMailItem.SenderName); Console.WriteLine(latestMailItem.ReceivedTime); Console.WriteLine(latestMailItem.Body); } } }}
如果出现如下错误:Interop type 'Microsoft.Office.Interop.Outlook.ApplicationClass' cannot be embedded. Use the applicable interface instead.
把DLL中的“Embed Interop Type”值置为“False”即可。
分类: .NET, C#
好文要顶关注我 收藏该文
0
0
«上一篇:生成API文档的软件
»下一篇:[Silverlight]调用外部可执行程序
»下一篇:[Silverlight]调用外部可执行程序
posted @ 2013-06-25 13:30 allanli 阅读(614) 评论(0)编辑 收藏
0 0
- 监听outlook新邮件
- MSFT Outlook VBA处理新邮件的方法
- outlook 收件箱显示有新邮件(显示新邮件数目),但进入收件箱却找不到新邮件
- outlook新邮件到达提醒设置 & outlook最小化到托盘设置
- TreeView实现类似Outlook在收件箱后面显示新邮件数
- 用VBA实现OUTLOOK接收新邮件后的自动转发
- outlook不能对自定义文件夹显示新邮件通知的解决办法
- 在Outlook 2007中如何设置新邮件的默认字体?
- outlook新邮件到达提醒设置以及outlook最小化到托盘设置
- 【转】outlook新邮件到达提醒设置以及outlook最小化到托盘设置
- outlook新邮件到达提醒设置以及outlook最小化到托盘设置
- OUTLOOK新邮件到达提醒设置以及outlook最小化到托盘设置
- Outlook风格的使用不同的颜色单列显示新邮件数
- C#中实现调用Outlook的接口建立新邮件和附件
- 在Outlook新邮件中向光标所在处插入一段新文字然后光标后移
- 支持outlook等邮件客户端收取/发送 Gmail 邮件, 并有MSN风格的即时新邮件提醒功能!
- 请问我如何在outlook中捕捉新邮件到达、任务启动提醒等事件,请告知,谢谢!!!
- outlook
- Struts2框架(二)参数封装、OGNL表达式、拦截器详解
- Android自定义滚动选择器
- 活动开始和截止时间倒计时
- maven2的pom的依赖管理
- 看出你前端的JavaScript底细的14道题
- 监听outlook新邮件
- oracle查询语句优化
- 根据name选择器清除option内容
- 二维数组指针相关理解
- web前端开源小案例:立方体旋转
- fastjson缺陷--map转换json时出现$ref的情况
- Android-App竞品分析
- 2017 第一篇博客
- Android开发之2016_最流行的Android组件、工具、框架大全