Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

Hinzufügen einer Verzichtserklärung zu ausgehenden SMTP-Nachrichten in Visual Basic

Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
317327 How to add a disclaimer to outgoing SMTP messages in Visual Basic
For a Microsoft Visual Basic Scripting Edition version of this article, see 317680.
Einführung
Dieser Artikel beschreibt Schritt für Schritt, wie Sie eine SMTP-Transport-Ereignissenke verwenden können, um eine Verzichtserklärung zu ausgehenden SMTP-E-Mail-Nachrichten hinzuzufügen.

Erstellen der Ereignissenke

  1. Erstellen Sie eine neue Microsoft Visual Basic ActiveX DLL-Datei. Nennen Sie das Projekt "SMTPEventSink" und das Modul "Disclaimer".
  2. Fügen Sie unter Projektverweise Microsoft CDO for Exchange 2000 Library hinzu und fügen Sie dann die Server Extension Objects COM Library hinzu.
  3. Schreiben Sie den folgenden Code in das Modul:
     Dim TextDisclaimer As String Dim HTMLDisclaimer As String  Implements IEventIsCacheable Implements CDO.ISMTPOnArrival  Private Sub IEventIsCacheable_IsCacheable()     'Just returns S_OK. End Sub  Private Sub Class_Initialize()   'TODO: Replace the sample disclaimer text with your own text.   TextDisclaimer = vbCrLf & "DISCLAIMER:" & vbCrLf & "Sample Disclaimer Text."   HTMLDisclaimer = "<p></p><p>DISCLAIMER:<br>Sample Disclaimer Text" End Sub  Private Sub ISMTPOnArrival_OnArrival(ByVal Msg As CDO.IMessage, EventStatus As CDO.CdoEventStatus)     If Msg.HTMLBody <> "" Then         Dim szPartI As String         Dim szPartII As String         Dim pos As Integer                  'Search for the "</body>" tag and insert the 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     EventStatus = cdoRunNextSink End Sub 					
  4. Ersetzen Sie den Beispieltext für die Verzichtserklärung mit Ihrer eigenen Verzichtserklärung und erstellen Sie die DLL.

Registrierung der Ereignissenke

Verwenden Sie zur Registrierung der Ereignissenke die Datei "Smtpreg.vbs", die als Bestandteil des Exchange Software Development Kits installiert ist.
  1. Wechseln Sie an einer Eingabeaufforderung zum Ordner "\Exchange SDK\SDK\Support\CDO\Scripts" und geben Sie dann die folgende Zeile ein: cscript smtpreg.vbs /add 1 OnArrival SMTPDisclaimer SMTPEventSink.Disclaimer "mail from=*@your-domain-here.com"

    Wenn dieser Befehl erfolgreich ausgeführt wird, erhalten Sie eine entsprechende Meldung, die vom Skript generiert wird.
  2. Geben Sie folgende Zeilen ein, wenn Sie die Registrierung für dieses Ereignis aufheben möchten: cscript smtpreg.vbs /remove 1 OnArrival SMTPDisclaimer
Weitere Informationen über die Verwaltung von Ereignisbindungen erhalten Sie auf folgender Website des Microsoft Developer Network (MSDN):

Testen der Ereignissenke

Senden Sie eine E-Mail-Nachricht zum Testen der Ereignissenke an einen SMTP-Empfänger außerhalb Ihrer Organisation. Der Empfänger erhält eine geänderte Nachricht mit dem Text der Verzichtserklärung am Ende der Nachricht.

Hinweis: Wenn Sie einen MAPI-Client, wie beispielsweise Microsoft Outlook zum Senden von E-mail-Nachrichten verwenden, erhält der Empfänger keine geänderte E-Mail. Dies liegt daran, dass die E-Mail-Nachricht, die mit MAPI übermittelt wird, kein SMTP-Format hat, wenn die E-Mail-Nachricht das SMTP-Transportereignis auslöst. Daher bleiben die Änderungen, die vom Ereigniscode ausgeführt wurden, nicht erhalten.
Informationsquellen
Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base:
273233 Sie können MAPI-Nachrichten nicht ändern, die in einer SMTP-Transportereignissenke abgefangen werden
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Eigenschaften

Artikelnummer: 317327 – Letzte Überarbeitung: 11/26/2007 01:54:00 – Revision: 8.4

  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange 2000 Server Standard Edition
  • Collaboration Data Objects for Exchange 2000
  • Microsoft Collaboration Data Objects 2.0
  • kbhowtomaster KB317327
Feedback