天天看点

- C#编程大幅提高OUTLOOK的邮件搜索能力!

- C#编程大幅提高OUTLOOK的邮件搜索能力!
- C#编程大幅提高OUTLOOK的邮件搜索能力!

Outlook搜索精灵主要包含两个功能:

1. 读取Outlook中的邮件信息并创建全文索引;

2. 提供搜索功能, 支持各种复杂的逻辑表达式.

先看看如何读取Outlook:

引用COM组件:

- C#编程大幅提高OUTLOOK的邮件搜索能力!

我这里引用的是9.4版本. 对应Outlook2010. 然后添加访问Outlook的代码:

Outlook以Folder的方式来管理收件箱, 发件箱, 已发邮件等. 一般情况下, 我们接收的邮件都在"收件箱"中, 发出的邮件都在"已发邮件"中, 因此我们从这两个文件夹中获取邮件信息. 为了更加方便使用, 我创建了一个MailInfo类型来存放需要索引的邮件内容:

先创建索引对象:

再循环读取邮件并添加索引文档:

最后将IndexProc放到后台线程中运行来提高用户体验:

OK, 大功告成! Outlook搜索精灵支持如下搜索字段:

字段

类型

描述

Subject

string

邮件标题

Body

邮件正文, HTML格式

Folder

邮件所属目录, 比如"收件箱", "已发邮件"等

From

发件人

To

收件人

ConversationId

会话ID

默认情况下, Outlook搜索精灵会使用

进行搜索, {0}会被自动替换成输入的关键词. 但是如果我们输入的本身就是一个搜索表达式, 那么Outlook搜索精灵会自动切换成高级搜索模式, 用用户输入的表达式进行搜索.

列举几个高级搜索的例子:

为了让Outlook搜索精灵根据体贴好用, 我还设计了一些小功能, 比如Outlook连接中断自动重连, 最小化到托盘等. enjoy吧!

继续阅读