我有一个 SMTP 事件接收器,用于处理传入的 SMTP 电子邮件消息以执行特殊处理。在 IIS 6/SMTP 下,此事件接收器按预期运行。在 IIS 7/SMTP 下,它似乎没有运行,即使它似乎注册成功,如下所示:
c:\Program Files\Kryptiq Corporation\GW\Bin>regsvr32 SpoolFilter.dll
c:\Program Files\Kryptiq Corporation\GW\Bin>smtp_sink_register.bat
c:\Program Files\Kryptiq Corporation\GW\Bin>cscript smtpreg.vbs /add 1 OnArrival
KryptiqSpoolFilter SpoolFilter.FilterObject "mail from=*"
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
Binding Display Name Specified: KryptiqSpoolFilter
Assigning priority (24575 in 32767)
** SUCCESS **
Registered Binding:
Event Name :SMTP Transport OnSubmission
Display Name:KryptiqSpoolFilter
Binding GUID:{C12ECB83-BF0A-46B4-823D-8C4D212F5238}
ProgID :SpoolFilter.FilterObject
Rule :mail from=*
Priority :24575 (0 - 32767, default: 24575)
ComCatID :{FF3CAA23-00B9-11d2-9DFB-00C04FA322BA}
我该如何调试此事件接收器并找出为什么它不处理 SMTP 拾取目录中的任何电子邮件,而是电子邮件原封不动地通过? IIS 7 对 SMTP 事件接收器的要求与 IIS 6 有何不同,例如新的权限?
答案1
IIS7 不再使用 IIS SMTP 事件架构,而是必须创建 SMTP 接收代理。(更多信息请访问http://msdn2.microsoft.com/en-us/library/aa563087.aspx)
答案2
我认为您已经解决了您的问题,但如果其他人遇到类似的问题,请确保您的程序集已签名并使用 regasm /codebase {您的程序集名称}
鲍勃