COMMENT FAIRE : Créer des messages électroniques planifiés en utilisant WSH et CDONTS

Nous conseillons vivement à tous les utilisateurs d'effectuer une mise à niveau vers Microsoft Internet Information Services (IIS) version 6.0 sous Microsoft Windows Server 2003. IIS 6.0 augmente considérablement la sécurité de l'infrastructure Web. Pour plus d'informations sur les questions liées à la sécurité avec les services Internet (IIS), reportez-vous au site Web de Microsoft à l'adresse suivante (en anglais) :

Résumé

Par défaut, Microsoft Windows NT 4.0 avec Windows NT Option Pack (NTOP) et Microsoft Windows 2000 installent un service de protocole SMTP utilisable dans de nombreux cas. Parmi les utilisations les plus communes, il y a les pages ASP permettant la gestion de la messagerie électronique par formulaires HTML.

Cet article étape par étape décrit comment créer des envois de messages planifiés à l'aide de Windows Script Host (WSH) et des fonctions de messagerie électronique de l'objet CDONTS.NewMail du service SMTP. L'exemple montre comment créer un fichier texte que vous pouvez mettre à jour pour le contenu du message électronique, un script WSH pour envoyer un message électronique et une tâche planifiée pour planifier l'envoi du message électronique.



Vérification de l'activation du service Planificateur de tâches

  • Sur un ordinateur qui exécute Windows NT 4.0 et Internet Information Server (IIS) 4.0 :
    1. Cliquez sur Démarrer, sur Paramètres, puis sur Panneau de configuration.
    2. Dans le Panneau de configuration, double-cliquez sur Services.
    3. Faites défiler vers le bas les services pour atteindre le service Planificateur de tâches.
    4. Vérifiez que État indique Démarré. Si État n'est pas défini à Démarré, activez le Planificateur de tâches, puis cliquez sur Démarrer.
    5. Vérifiez que Démarrage indique Automatique. Si Démarrage n'est pas défini à Automatique, activez le Planificateur de tâches, puis cliquez sur Démarrage. Sous Type de démarrage, activez Automatique, puis cliquez sur OK.
    6. Cliquez sur Fermer.
    7. Pour quitter, fermez le Panneau de configuration.
  • Sur un ordinateur qui exécute Windows 2000 et Internet Information Server (IIS) 5.0 :
    1. Cliquez sur Démarrer, sur Paramètres, puis sur Panneau de configuration.
    2. Double-cliquez sur Outils d'administration, puis sur Gestion de l'ordinateur.
    3. Dans le volet gauche de la fenêtre Gestion de l'ordinateur, développez Services et Applications, puis activez Services.
    4. Dans le volet droit de la fenêtre Gestion de l'ordinateur, faites défiler la liste des services dans la colonne Nom.
    5. Faites défiler vers le bas les services pour atteindre le service Planificateur de tâches.
    6. Vérifiez que État indique Démarré. Si le service n'est pas démarré, cliquez avec le bouton droit sur le service Planificateur de tâches, puis activez Démarrer.
    7. Vérifiez que Type de démarrage indique Automatique. Si Type de démarrage n'est pas défini à Automatique, cliquez avec le bouton droit sur le service Planificateur de tâches, puis cliquez sur Propriétés. La fenêtre Propriétés de Planificateur de tâches apparaît avec l'onglet Général sélectionné. Vous pouvez également consulter les autres options en cliquant sur les autres onglets situés en haut de la fenêtre. Cliquez sur la flèche de déroulement au regard de Type de démarrage, puis sélectionnez Automatique.
    8. Cliquez sur OK.
    9. Pour quitter, fermez la fenêtre Gestion de l'ordinateur.

Création d'un fichier de messages

  1. Ouvrez le Bloc-Notes. Pour cela, cliquez sur Démarrer, sur Exécuter, puis tapez NOTEPAD, puis cliquez sur OK.
  2. Collez les lignes suivantes dans le Bloc-notes :
    <p>This is line 1.</p>
    <p>This is line 2.</p>
  3. Dans le Bloc-notes, cliquez sur menu Fichier, cliquez sur Enregistrez sous, tapez C:\Mailout.txt dans la zone de texte Nom de fichier, puis cliquez sur OK.
  4. Pour quitter, fermez le Bloc-notes.

Création d'un script WSH

  1. Ouvrez le Bloc-Notes. Pour cela, cliquez sur Démarrer, sur Exécuter, puis tapez NOTEPAD, puis cliquez sur OK.
  2. Collez les lignes suivantes dans le Bloc-notes :REMARQUE : vous devez spécifier une adresse de messagerie valide. Pour cela, personnalisez l'expéditeur et le destinataire en modifiant la valeur des variables strFrom et strTo dans le code suivant :
    '--------------------------------------------------------------------
    '
    ' Mailout using CDONTS.NewMail
    '
    '--------------------------------------------------------------------

    ' Declare all variables.
    Option Explicit
    Dim objSendMail
    Dim strTo, strFrom
    Dim strSubject, strBody

    ' Mail constants (some are for reference).
    Const CdoBodyFormatHTML = 0 ' Body property is HTML
    Const CdoBodyFormatText = 1 ' Body property is plain text (default)
    Const CdoMailFormatMime = 0 ' NewMail object is in MIME format
    Const CdoMailFormatText = 1 ' NewMail object is plain text (default)
    Const CdoLow = 0 ' Low importance
    Const CdoNormal = 1 ' Normal importance (default)
    Const CdoHigh = 2 ' High importance

    strFrom = "someone@microsoft.com" ' Change to your e-mail address.
    strTo = "someone@microsoft.com" ' Change to the recipient address.
    strSubject = "Test Message" ' Change to your subject.

    ' This line calls the ReadFile() function to read the page contents.
    strBody = ReadFile("C:\MAILOUT.TXT")

    ' This line calls the MakePage() function to format the page as HTML.
    strBody = MakePage(strSubject,strBody)

    ' The following section creates the mail object and sends the mail.
    Set objSendMail = CreateObject("CDONTS.NewMail")
    objSendMail.From = strFrom
    objSendMail.To = strTo
    objSendMail.Subject = strSubject & " (" & Date() & ")"
    objSendMail.Body = strBody

    objSendMail.BodyFormat = CdoBodyFormatHTML
    objSendMail.MailFormat = CdoMailFormatMime
    objSendMail.Importance = CdoNormal

    objSendMail.Send
    Set objSendMail = Nothing

    ' This function returns a properly formatted HTML page.
    Function MakePage(txtSubject, txtBody)
    Dim txtTemp
    txtTemp = "<HTML>" & vbCrLf
    txtTemp = txtTemp & "<HEAD><TITLE>"
    txtTemp = txtTemp & txtSubject
    txtTemp = txtTemp & "</TITLE></HEAD>" & vbCrLf
    txtTemp = txtTemp & "<BODY>" & vbCrLf
    txtTemp = txtTemp & "<H2>" & txtSubject & "</H2>" & vbCrLf
    txtTemp = txtTemp & txtBody & vbCrLf
    txtTemp = txtTemp & "</BODY>" & vbCrLf
    txtTemp = txtTemp & "</HTML>"
    MakePage = txtTemp
    End Function

    ' This function opens a file and returns the contents of the file.
    Function ReadFile(txtFile)
    Dim txtTemp, objFS, objFL
    Set objFS = CreateObject("Scripting.FileSystemObject")
    Set objFL = objFS.OpenTextFile(txtFile)
    Do While Not objFL.AtEndOfStream
    txtTemp = txtTemp & objFL.ReadLine
    txtTemp = txtTemp & vbCrLf
    Loop
    objFL.Close
    Set objFS = Nothing
    ReadFile = txtTemp
    End Function
  3. Dans le Bloc-notes, cliquez sur menu Fichier, cliquez sur Enregistrez sous, tapez C:\mailout.vbs dans la zone de texte Nom de fichier, puis cliquez sur OK.
  4. Pour quitter, fermez le Bloc-notes.

Création d'une tâche pour planifier l'envoi de messages.

  1. Cliquez sur Démarrer, sur Exécuter, tapez CMD, puis cliquez sur OK pour ouvrir une invite de commande.
  2. Dans la fenêtre d'invite de commandes, tapez quelque chose de semblable aux exemples suivants :
    • La tâche suivante s'exécute une fois à 21h00.
      AT 9:00pm Cscript.exe C:\Mailout.vbs
    • Cette tâche s'exécute tous les lundis à 6h00.
      AT 6:00am /every:M Cscript.exe C:\Mailout.vbs
    • Cette tâche s'exécute le premier de chaque mois à 1h00.
      AT 1:00am /every:1 Cscript.exe C:\Mailout.vbs
      REMARQUE : selon l'exemple que vous choisissez, le message électronique est envoyé à l'heure prévue.

  3. Tapez exit pour quitter l'invite de commande.

Références

Pour plus d'informations sur les techniques d'écriture des scripts, reportez-vous au site Web MSDN (Microsoft Developer Network) à l'adresse suivante :
Propriétés

ID d'article : 221495 - Dernière mise à jour : 24 avr. 2006 - Révision : 1

Commentaires