Jesteś obecnie w trybie offline. Czekamy na ponowne połączenie z Internetem.

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

Wersja tego artykułu dla języka Microsoft Visual Basic: 317327.
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 = cdoRunNextSinkEnd 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: 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

Identyfikator artykułu: 317680 — ostatni przegląd: 11/26/2007 01:44:00 — zmiana: 9.1

  • 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
  • kbhowtomaster KB317680
Opinia