您目前已離線,請等候您的網際網路重新連線

如何使用 Visual Basic 指令碼在外寄的 SMTP 電子郵件中加入免責聲明

如需本文的 Microsoft Visual Basic 版本,請參閱 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 = cdoRunNextSinkEnd 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 網站的<管理事件繫結>(英文) 主題: 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
324021How to create a "catchall" mailbox sink for Exchange Server

測試事件接收器

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

注意 如果您使用 MAPI 用戶端 (例如 Microsoft Outlook) 來傳送電子郵件,收件者不會收到修改過的郵件。這是因為當電子郵件觸發 SMTP 傳輸事件時,使用 MAPI 傳送的電子郵件並非 SMTP 格式。因此,將不會保留事件的程式碼所做的變更。
参考
如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
273233You cannot modify MAPI messages that are trapped in an SMTP transport event sink
內容

文章識別碼:317680 - 最後檢閱時間:11/26/2007 01:59:00 - 修訂: 9.3

  • 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
意見反應