COMMENT FAIRE : Ajout d'une exclusion de responsabilité à des messages SMTP sortants dans Visual Basic

Traductions disponibles Traductions disponibles
Numéro d'article: 317327 - Voir les produits auxquels s'applique cet article
Ancien nº de publication de cet article : F317327
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article explique en détail la procédure d'utilisation d'un récepteur d'événements de transport SMTP pour ajouter une exclusion de responsabilité à des messages SMTP sortants.

Création du récepteur d'événements

  1. Créez un nouveau fichier DLL ActiveX Microsoft Visual Basic. Nommez le projet SMTPEventSink et nommez le module Exclusion.
  2. Dans les références du projet, ajoutez Bibliothèque Microsoft CDO pour Exchange 2000 et Bibliothèque Server Extension Objects COM.
  3. Collez le code suivant dans le module :
    Dim TextDisclaimer As String
    Dim HTMLDisclaimer As String
    
    Implements IEventIsCacheable
    Implements CDO.ISMTPOnArrival
    
    Private Sub IEventIsCacheable_IsCacheable()
        ' Renvoie uniquement S_OK.
    End Sub
    
    Private Sub Class_Initialize()
      'A FAIRE : remplacez l'exemple de texte d'exclusion de responsabilité par votre propre texte.
      TextDisclaimer = vbCrLf & "DISCLAIMER:" & vbCrLf & "Sample Discliamer 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
            
            'Recherchez la balise "</body>" et insérez notre exclusion de responsabilité avant cette balise.
            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
            
            Msg.TextBody = Msg.TextBody & vbCrLf & TextDisclaimer & vbCrLf
        Else
            Msg.TextBody = Msg.TextBody & vbCrLf & TextDisclaimer & vbCrLf
        End If
        
        'Validez les modifications apportées au contenu dans l'objet de transport ADO Stream.
        Msg.DataSource.Save
        EventStatus = cdoRunNextSink
    End Sub
  4. Remplacez l'exemple de texte d'exclusion de responsabilité par votre propre texte, puis créez la DLL.

Inscription du récepteur d'événements

Pour inscrire votre récepteur d'événements, utilisez le fichier Smtpreg.vbs, lequel est installé avec le Kit de développement Microsoft Exchange (SDK). À partir d'une invite de commande, recherchez le dossier « ...\Exchange SDK\SDK\Support\CDO\Scripts » et tapez la commande suivante :
cscript smtpreg.vbs /add 1 OnArrival SMTPDisclaimer SMTPEventSink.Disclaimer "mail from=*"
Si cette commande réussit, vous recevez un message généré par le script qui signale la réussite.

Pour annuler l'inscription de cet événement, tapez la commande suivante :
cscript smtpreg.vbs /remove 1 OnArrival SMTPDisclaimer
Pour plus d'informations sur l'inscription d'événements à l'aide de Smtpreg.vbs, consultez la rubrique « Managing Event Bindings » sur la gestion de la liaison d'événements du site Web MSDN à l'adresse suivante :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/_cdosys_managing_event_bindings.asp

Test du récepteur d'événements

Pour tester votre récepteur d'événements, envoyez un message électronique à un destinataire SMTP qui est externe à votre organisation. Le destinataire doit recevoir un message modifié dans lequel l'exclusion de responsabilité est ajoutée à la fin du message.

Remarque : Si vous utilisez un client MAPI tel que Microsoft Outlook pour envoyer le message électronique, le destinataire ne reçoit pas un message modifié. En effet, les messages soumis par le biais de MAPI ne sont pas au format SMTP lorsque le message déclenche l'événement de transport SMTP. Par conséquent, les modifications apportées par le code de l'événement ne sont pas conservées.

Propriétés

Numéro d'article: 317327 - Dernière mise à jour: mardi 23 août 2005 - Version: 5.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Exchange Server 2000 Service Pack 1sur le système suivant
    • Microsoft Windows 2000 Service Pack 1
    • Microsoft Windows 2000 Service Pack 2
    • Microsoft Windows 2000 Service Pack 3
  • Microsoft Exchange 2000 Server Service Pack 2sur le système suivant
    • Microsoft Windows 2000 Service Pack 1
    • Microsoft Windows 2000 Service Pack 2
    • Microsoft Windows 2000 Service Pack 3
  • Collaboration Data Objects for Exchange 2000
  • Microsoft Collaboration Data Objects 2.0
Mots-clés : 
kbhowto kbhowtomaster KB317327
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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