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.
Numéro d'article: 313404 - Dernière mise à jour: lundi 3 décembre 2007 - Version: 6.4
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
Microsoft Exchange Server 2003 Enterprise Edition
Microsoft Exchange Server 2003 Standard Edition
Microsoft Exchange 2000 Server Standard Edition
Microsoft Windows Small Business Server 2003 Premium Edition
Microsoft Windows Small Business Server 2003 Standard Edition
Mots-clés :
kbhowtomaster KB313404
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.
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.