A noterCet article s'applique à un système d'exploitation différent de celui que vous utilisez. Le contenu de l'article qui ne vous concerne peut-être pas est désactivé.
Cet article décrit étape par étape comment étendre le service SMTP (Simple Mail Transport Protocol) par le biais d?un récepteur d?événements de transport. Le code Microsoft VBScript (Visual Basic Scripting Edition) recherche les messages SMTP entrants dont la ligne Objet contient le mot « virus » ou dont les pièces jointes portent l?extension .vbs. Dans les deux cas, la remise des messages suspects est bloquée.
Enregistrer un récepteur d?événements de transport pour le service SMTP
Démarrez l'Explorateur Windows.
Créez un dossier nommé EventSink sous le répertoire racine du lecteur C (C:\EventSink).
Copiez le fichier Smtpreg.vbs du Kit de développement Microsoft Exchange dans le nouveau dossier.
Dans l?Explorateur Windows, ouvrez le dossier C:\EventSink, cliquez avec le bouton droit sur le volet gauche, pointez sur Nouveau, puis cliquez sur Document texte.
Nommez le nouveau fichier Smtpmsgcheck.vbs. Si une boîte de dialogue de type Renommer s'affiche, cliquez sur Oui.
Cliquez avec le bouton droit sur le nouveau fichier, puis cliquez sur Modifier. Dans l?éditeur de texte (Notepad.exe), entrez le code VBScript suivant :
<SCRIPT LANGUAGE="VBScript">
Sub IEventIsCacheable_IsCacheable()
'To implement the interface, and return S_OK implicitly
End Sub
Sub ISMTPOnArrival_OnArrival(ByVal Msg, EventStatus)
Dim envFlds
Dim colAttachs
Dim iFound
Set envFlds = Msg.EnvelopeFields
If Msg.Subject = "" Or Len(Msg.Subject) < 5 Then
iFound = 0
Else
iFound = Instr(1, Msg.Subject, "VIRUS", 1) ' First position of the word VIRUS
End If
'Check whether the message contains a VBS attachment
Set colAttachs = Msg.Attachments
For Each oAttach in colAttachs
If InStrRev(oAttach.FileName, ".vbs",-1, 1) = (Len(oAttach.FileName)-3) Then
iFound = 1
End If
Next
If iFound > 0 Then
'Do not deliver, place message in the Badmail directory.
envFlds ("http://schemas.microsoft.com/cdo/smtpenvelope/messagestatus") = 3
envFlds.Update 'Commit the changes of the message status 'Skip remain event sinks
EventStatus = 1
End If
End Sub
</SCRIPT>
Enregistrez les modifications, puis fermez le Bloc-notes.
Créez un autre fichier texte, nommez-le Instsink.bat, cliquez avec le bouton droit sur ce fichier, puis cliquez sur Modifier. Dans le Bloc-notes, entrez les lignes suivantes :
@Echo Off
REM*********** The following 2 lines install the Event Sink to log SMTP Messages ***********
Cscript smtpreg.vbs /add 1 onarrival SMTPMessageCheck CDO.SS_SMTPOnArrivalSink "mail from=*"
Cscript smtpreg.vbs /setprop 1 onarrival SMTPMessageCheck Sink ScriptName "C:\EventSink\SMTPMsgCheck.vbs"
REM ***** Remove the 'REM' tag from the following line *****
REM ***** If you want to deinstall the Event Sink again *****
REM cscript smtpreg.vbs /remove 1 onarrival SMTPMessageCheck
Enregistrez les modifications, puis fermez le Bloc-notes.
Cliquez sur Démarrer, sur Exécuter, tapez cmd, puis cliquez surOK pour afficher l'invite de commande de Windows 2000. Tapez cd \EventSink pour passer au dossier C:\EventSink.
Tapez instsink.bat, puis appuyez sur ENTRÉE pour exécuter le fichier de commandes et utiliser le dossier EventSink pour enregistrer les messages dans un fichier journal. Vérifiez que le récepteur d?événements est correctement enregistré, tapez exit, puis appuyez sur ENTRÉE pour fermer l?invite de commande.
Cliquez sur Démarrer, sur Programmes, sur Microsoft Exchange, puis sur Gestionnaire système.
Cliquez sur Serveurs, développez votre serveur, cliquez sur SMTP, puis redémarrez le Serveur virtuel SMTP par défaut.
Testez le récepteur d?événements de transport à l?aide de Telnet.
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.
Envoyez-nous vos commentaires sur les informations de cette page
Ces informations vous ont-elles aidé à résoudre votre problème ?
Oui
Non
Je ne sais pas
Ces informations étaient-elles pertinentes ?
Oui
Non
Quel niveau d'effort avez-vous dû personnellement fournir pour utiliser cet article ?
Mineur
Peu important
Modéré
Important
Très important
Que pourrions-nous faire pour améliorer ces informations ?
Attention : Veuillez ne pas indiquer vos coordonnées personnelles (adresse email ou numéro de téléphone) dans vos commentaires ci-dessous.
Merci ! Vos commentaires sont très utiles pour l'amélioration de notre contenu d'aide et de support. Si vous avez besoin d'aide complémentaire, veuillez consulter la page d'accueil d'aide et support.