文档详情

笫十章邮件过滤.doc

发布:2017-04-13约3.52万字共27页下载文档
文本预览下载声明
笫十章:电子邮件的过滤 概述 通过修改在笫八章中编写的按键记录器可以达到从电子邮件程序里记录信息的目的,而通过修改笫七章编写的网络过滤器可以达到区分底层协议和收集电子邮件信息的目的,如果是在使用Microsoft Exchange Server 或者 Lotus Domino Server 的这些商业环境里,还有一个更好的办法,这些公司的电子邮件解决方案提供了扩展客户端功能的接口,这通常是通过使用指定的动态库文件来实现的,如果要在这种环境下进行电子邮件的过滤,我们要做的仅仅是弄明白在目标邮件系统里提供的扩展接口。 本章包括以下内容: Microsoft Outlook 电子邮件的过滤    安装一个Outlook 客户端过滤器    测试 Outlook 客户端扩展 Lotus Notes 电子邮件的过滤    安装一个 Lotus Notes 电子邮件客户端过滤器    测试 Lotus Notes 客户端扩展 Microsoft Outlook 电子邮件的过滤 关于Microsoft Outlook 的详细描述请查看 /kb/285999 和/kb/199343.它们逐步地描述了如何创建和安装Microsoft Outlook电子邮件客户端扩展的过程。知识库文章 285999 中提供的示例知识库文章 285999Microsoft Outlook 里都是通用的. 在初始化的时候,Outlook 客户端将加载每一个被注册为客户端的DLL,并且调用其导出的ExchEntryPoint函数。ExchEntryPoint 必须实例化一个基于 IExchExt 的派生类,一旦Outlook初始化了这个派生类,它会为每个客户端扩展事件调用一个Install成员函数,如果从Install成员函数返回S_OK就意味Outlook一个客户端扩展已经做好了处理此事件的准备并且期望获得此事件的通知。 要接进行消息的接收,从ExchEntryPoint派生的类必须要包含一个基于IExchExtMessageEvents的类,当已注册的事件被触发的时候消息就会发到这里.,在IExchExtMessageEvents 接口所需要的八个成员函数中,在本章的这个例子里只使用了OnSubmit、OnSubmitComplere和OnWriteComplete这三个。 本章所讲述的客户端扩展只是包含了八个文件,其中有六个都是框架文件,只有两个文件包含来OUtlook客户端扩展的实现。 这两个文件是: OutlookExtension.cp - 实现的源代码 OutlookExtension.h - 实现文件的头文件 六个框架文件是: EXCHEXT.H - 客户端扩展所需要的头文件 Stdafx.cpp - 由Visual Studio 创建的包含stdafx.h的文件 Stdafx.h - 由Visual Studio 创建用来定义头和编译选项的 OutlookExtension.dsp - Vsual Studio 的工程文件 OutlookExtension.dsw - Visual Studio 的工作区文件 Readme.txt - Visual Studio创建的用来定义工程结构的描述文件 本章里不会详细去描述这些框架文件。 OutlookExtension.h OutlookExtension.h定义了Outlook需要的两个客户端扩展类,CMessageEvents 和CClientExtension。这两个类提供了扩展Outlook客户端的接口,CClientExtension类是严格遵守Outlook接口标准的,CMessageEvents类包含了Outlook接口标准和应用程序特定逻辑,文件 OutlookExtension.h还包含了在LogContent用到的文件日志定义。 // Extension Object // This class must inherit from the IExchExt interface, // which contains the Install method that Outlook uses to obtain a // new instance of the Extension Object Class. // Also, because the IExchExt interface inherits from IUnknown, // Component Object Model (COM) rules require that this class declare // and implement
显示全部
相似文档