Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->网络应用 ->邮件服务器 ->Exchange Server ->正文

在Exchange 2000 Server中为SMTP服务注册传输事件接收

来源:Linuxdby.com 作者:Webmaster 时间:2007-05-28 点击: [收藏] [投稿]

概要

本文逐步介绍了如何通过传输事件接收来扩展简单邮件传输协议 (SMTP)。Microsoft Visual Basic Scripting Edition (VBScript) 代码检查传入的 SMTP 邮件中是否有包含单词“virus”的主题行和具有 .vbs 后缀的附件。这两种情况下,可疑邮件的传递都将被阻止。

为 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 If'Check 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 status'Skip remain event sinksEventStatus = 1End IfEnd Sub					
7.保存更改,然后关闭记事本。

8.创建另一个文本文件,将文件命名为 Instsink.bat,右键单击该文件,然后单击编辑。在记事本中,输入下列行:

@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
,


 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:如何在 Visual Basic 脚本中向出站 SMTP 邮件添加免责声明   下一篇:如何在Exchange Server 2003前端服务器上禁用HTTP连接重用

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号