Jak za pomocą skryptu języka Visual Basic dodać zastrzeżenie do wychodzących wiadomości SMTP

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 317680 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Wersja tego artykułu dla języka Microsoft Visual Basic: 317327.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Streszczenie

Ten artykuł zawiera instrukcje, dotyczące dodawania zastrzeżenia do wychodzących wiadomości e-mail protokołu SMTP za pomocą modelu event sink protokołu SMTP.

Tworzenie modelu event sink

Aby utworzyć model event sink, należy wkleić następujący kod do nowego pliku i zapisać go pod nazwą EventSinkScript.vbs:
<SCRIPT LANGUAGE="VBScript">
Sub ISMTPOnArrival_OnArrival(ByVal Msg, EventStatus)
   TextDisclaimer = vbCrLf & "ZASTRZEŻENIE:" & vbCrLf & "Przykładowy tekst zastrzeżenia wstawionego za pomocą języka VBScript."
   HTMLDisclaimer = "<p></p><p>ZASTRZEŻENIE:<br>Przykładowy tekst zastrzeżenia wstawionego za pomocą języka VBScript."

   If Msg.HTMLBody <> "" Then
      'Wyszukanie tagu "</body>" i wstawienie przed tym tagiem zastrzeżenia.
      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
    
   'Zatwierdzenie zmian zawartości w obiekcie transportowym ADO Stream.
   Msg.DataSource.Save ' Zatwierdzenie zmian w strumieniu transportowym

   EventStatus = cdoRunNextSink
End Sub
</SCRIPT>

Rejestrowanie modelu event sink

Aby zarejestrować model event sink, użyj pliku Smtpreg.vbs, który jest instalowany razem z zestawem Exchange SDK. W wierszu polecenia przejdź do folderu ...\Exchange SDK\SDK\Support\CDO\Scripts i wpisz następujące polecenie (upewnij się, że ścieżka do pliku EventSinkScript.vbs jest poprawna):
cscript smtpreg.vbs /add 1 onarrival SMTPScriptingHost CDO.SS_SMTPOnArrivalSink "mail from=*@tutaj-należy-wstawić-domenę"
cscript smtpreg.vbs /setprop 1 onarrival SMTPScriptingHost Sink ScriptName "C:\EventSinkScript.vbs"
Jeśli wykonanie polecenia zakończy się pomyślnie, skrypt wygeneruje komunikat informujący o sukcesie.

Aby wyrejestrować to zdarzenie, wpisz następujący kod:
cscript smtpreg.vbs /remove 1 OnArrival SMTPScriptingHost
Aby uzyskać więcej informacji dotyczących rejestrowania zdarzeń za pomocą pliku Smtpreg.vbs, zobacz temat „Managing Event Bindings” w następującej witrynie MSDN w sieci Web:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/7406817f-b48f-4b62-86af-bd6703fca4f6.asp
Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
324021 How to create a "catchall" mailbox sink for Exchange 2000

Testowanie modelu event sink

Aby przetestować model event sink, wyślij wiadomość e-mail do odbiorcy używającego protokołu SMTP, który znajduje się poza organizacją. Odbiorca powinien otrzymać wiadomość zmodyfikowaną, tj. zawierającą na końcu dodane zastrzeżenie.

Uwaga: Jeśli wiadomość e-mail zostanie wysłana za pomocą klienta MAPI, na przykład programu Microsoft Outlook, odbiorca nie otrzyma zmodyfikowanej wiadomości. Stanie się tak, ponieważ w momencie wywoływania zdarzenia transportu protokołu SMTP wiadomości przesyłane za pomocą interfejsu MAPI nie mają formatu protokołu SMTP. Z tego powodu zmiany wprowadzone przez kod zdarzenia nie są zachowywane.

Materiały referencyjne

Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
273233 You cannot modify MAPI messages that are trapped in an SMTP transport event sink

Właściwości

Numer ID artykułu: 317680 - Ostatnia weryfikacja: 26 listopada 2007 - Weryfikacja: 9.1
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange 2000 Server Standard Edition
  • Collaboration Data Objects for Exchange 2000 6.0
  • Microsoft Collaboration Data Objects 2.0
Słowa kluczowe: 
kbhowtomaster KB317680

Przekaż opinię

 

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