8.创建另一个文本文件,将文件命名为 Instsink.bat,右键单击该文件,然后单击编辑。在记事本中,输入下列行:概要
为 SMTP 服务注册传输事件接收
1. 启动 Windows 资源管理器。 2. 在 C 盘根目录下创建名为 EventSink 的新文件夹 (C:\EventSink)。 3. 从 Exchange 软件开发工具包中将文件 Smtpreg.vbs 复制到新创建的文件夹中。 4. 在 Windows 资源管理器中,打开 C:\EventSink 文件夹,右键单击左侧窗格,指向新建,然后单击文本文档。 5. 将新文件命名为 Smtpmsgcheck.vbs。如果出现重命名对话框,请单击是。 6. 右键单击新文件,然后单击编辑。在编辑器(记事本)中输入下列 VBScript 代码: Sub IEventIsCacheable_IsCacheable()To implement the interface, and return S_OK implicitlyEng SubSub ISMTPOnArrival_OnArrival(ByVal Msg, EventStatus )Dim envFldsDim colAttachsDim iFoundSet envFlds = Msg.EnvelopeFieldsIf Msg.Subject = “” Or Len(Msg.Subject) < 5 Then iFound = 0Else iFound = Instr(1, Msg.Subject, "VIRUS", 1) First position of the word VIRUSEnd IfCheck whether the message contains a VBS attachmentSet colAttachs = Msg.AttachmentsFor Each oAttach in colAttachs If Instr(1, oAttach.FileName, "vbs", 1)> 0 Then iFound = 1NextIf iFound > 0 Then Do not deliver, place message in the Badmail directory.envFlds (“http://schemas.microsoft.com/cdo/smtpenvelope/messagestatus”) = 3envFlds.Update Commit the changes of the message statusSkip remain event sinksEventStatus = 1End IfEnd Sub
7. 保存更改,然后关闭记事本。 @ECho OffREM*********** The following 2 lines install the Event Sink to log SMTP Messages ***********Cscript smtpreg.vbs /add 1 onarrival SMTPMessageCheckCDO.SS_SMTPOnArrivalSink “mail from=*”Cscript smtpreg.vbs /setprop 1 onarrival SMTPMessageCheck SinkScriptName “C:\EventSink\SMTPMsgCheck.vbs”REM ***** Remove the REM tag from the following line *****REM ***** If you want to deinstall the Event Sink again *****REM cscript smtpreg.vbs /remove 1 onarrival SMTPMessageCheck
9. 保存更改,然后关闭记事本。 10. 单击开始,单击运行,键入 cmd,然后单击确定以启动 Windows 2000 命令提示符。键入 cd \EventSink 以更改到 C:\EventSink 文件夹。 11. 键入 instsink.bat,然后按 ENTER,执行批处理文件并注册 EventSink 示例以记录消息。验证事件接收已正确注册,然后键入 exit 并按 ENTER 退出命令提示符。 12. 单击开始,单击程序,单击 Microsoft Exchange,然后单击系统管理器。 13. 单击服务器,展开服务器,单击 SMTP,然后重新启动默认 SMTP 虚拟服务器。 14. 使用 Telnet 测试传输事件接收。 这篇文章中的信息适用于:
%26#8226; Microsoft Exchange 2000 Server 标准版 %26#8226; Microsoft Exchange Server 2003 Enterprise Edition %26#8226; Microsoft Exchange Server 2003 Standard Edition 关键字:
kbhowtomaster KB313404
本文逐步介绍了如何通过传输事件接收来扩展简单邮件传输协议 (SMTP)。Microsoft Visual Basic Scripting Edition (VBScript) 代码检查传入的 SMTP 邮件中是否有包含单词“virus”的主题行和具有 .vbs 后缀的附件。这两种情况下,可疑邮件的传递都将被阻止。