DetailPage-MSS-KB

知識庫

文章編號: 317680 - 上次校閱: 2007年11月26日 - 版次: 9.3

如需本文的 Microsoft Visual Basic 版本,請參閱 317327  (http://support.microsoft.com/kb/317327/ )

在此頁中

結論

本文將逐步告訴您,如何使用 SMTP 傳輸事件接收器在外寄的 SMTP 電子郵件中加入免責聲明。

建立事件接收器

如果要建立事件接收器,請將下列程式碼貼至新檔案,然後將該檔案另存為 EventSinkScript.vbs。
<SCRIPT LANGUAGE="VBScript">
Sub ISMTPOnArrival_OnArrival(ByVal Msg, EventStatus)
   TextDisclaimer = vbCrLf & "DISCLAIMER:" & vbCrLf & "Sample Disclaimer added in a VBScript."
   HTMLDisclaimer = "<p></p><p>DISCLAIMER:<br>Sample Disclaimer added in a VBScript."

   If Msg.HTMLBody <> "" Then
      'Search for the "</body>" tag and insert our disclaimer before that tag.
      pos = InStr(1, Msg.HTMLBody, "</body>", vbTextCompare)
      szPartI = Left(Msg.HTMLBody, pos - 1)
      szPartII = Right(Msg.HTMLBody, Len(Msg.HTMLBody) - (pos - 1))
      Msg.HTMLBody = szPartI + HTMLDisclaimer + szPartII
   End If

   If Msg.TextBody <> "" Then
      Msg.TextBody = Msg.TextBody & vbCrLf & TextDisclaimer & vbCrLf
   End If
    
   'Commit the content changes to the transport ADO Stream object.
   Msg.DataSource.Save ' Commit the changes into the transport Stream

   EventStatus = cdoRunNextSink
End Sub
</SCRIPT>

註冊事件接收器

如果要註冊事件接收器,請使用隨著 Exchange SDK 一起安裝的 Smtpreg.vbs 檔案。在命令提示字元中,瀏覽至 ...\Exchange SDK\SDK\Support\CDO\Scripts 資料夾,然後輸入下列命令 (請確定 EventSinkScript.vbs 的路徑是正確的):
cscript smtpreg.vbs /add 1 onarrival SMTPScriptingHost CDO.SS_SMTPOnArrivalSink "mail from=*@your-domain-here.com"
cscript smtpreg.vbs /setprop 1 onarrival SMTPScriptingHost Sink ScriptName "C:\EventSinkScript.vbs"
如果命令執行成功,您會收到指令碼所產生的成功訊息。

如果要解除此事件的註冊,請輸入:
cscript smtpreg.vbs /remove 1 OnArrival SMTPScriptingHost
如需有關使用 Smtpreg.vbs 註冊事件的詳細資訊,請參閱下列 MSDN 網站的<管理事件繫結>(英文) 主題:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/7406817f-b48f-4b62-86af-bd6703fca4f6.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/7406817f-b48f-4b62-86af-bd6703fca4f6.asp)
如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
324021  (http://support.microsoft.com/kb/324021/ ) How to create a "catchall" mailbox sink for Exchange Server

測試事件接收器

如果要測試接收器,請傳送電子郵件到組織外部的 SMTP 收件者。收件者應該會收到修改過的郵件,並且郵件結尾處已加上免責聲明。

注意 如果您使用 MAPI 用戶端 (例如 Microsoft Outlook) 來傳送電子郵件,收件者不會收到修改過的郵件。這是因為當電子郵件觸發 SMTP 傳輸事件時,使用 MAPI 傳送的電子郵件並非 SMTP 格式。因此,將不會保留事件的程式碼所做的變更。

参考

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
273233  (http://support.microsoft.com/kb/273233/ ) You cannot modify MAPI messages that are trapped in an SMTP transport event sink

這篇文章中的資訊適用於:
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange 2000 Server Standard Edition
  • Collaboration Data Objects for Exchange 2000
  • Microsoft Collaboration Data Objects 2.0
關鍵字: 
kbhowtomaster KB317680
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。
共用
其他支援選項
Microsoft Community 支援論壇
直接與我們連絡
尋找 Microsoft 認證合作夥伴
Microsoft 市集