Добавление заявления об отказе к исходящим сообщениям SMTP с помощью Visual Basic

Переводы статьи Переводы статьи
Код статьи: 317680 - Vizualiza?i produsele pentru care se aplic? acest articol.
Версия данной статьи для 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 = cdoRunNextSink
End Sub
</SCRIPT>

Регистрация обработчика событий

Чтобы зарегистрировать обработчик событий, используйте файл Smtpreg.vbs, установленный вместе с пакетом Exchange SDK. Используя командную строку, найдите папку ...\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 см. в разделе «Managing Event Bindings» (Управление привязками событий) на веб-узле MSDN по адресу:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/7406817f-b48f-4b62-86af-bd6703fca4f6.asp
Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
324021 Создание обработчика почтового ящика «catchall» для Exchange 2000 (Эта ссылка может указывать на содержимое полностью или частично на английском языке.)

Тестирование приемника событий

Чтобы протестировать приемник событий, отправьте электронное сообщение SMTP получателю за пределами организации. Он должен получить измененное сообщение с отказом в конце сообщения.

Примечание. При использовании MAPI-клиента, например Microsoft Outlook, для отправки электронных сообщений получателю будет доставлено сообщение без изменений. Это связано с тем, что сообщения, отправляемые при помощи MAPI, имеют другой формат (не SMTP) в момент срабатывания приемника событий транспорта SMTP. В результате изменения, вносимые программным кодом события, не сохраняются.

Ссылки

Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
273233 Не удается изменить сообщения MAPI в приемнике событий SMTP (Эта ссылка может указывать на содержимое полностью или частично на английском языке.)

Свойства

Код статьи: 317680 - Последний отзыв: 22 мая 2006 г. - Revision: 9.5
Информация в данной статье относится к следующим продуктам.
  • 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

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com