Envoyer un mail


Pour envoyer un mail, la collection d'objets à connaître est CDO, en particulier l'objet CDO.Message.

var msg = new ActiveXObject("CDO.Message");
msg.From = "Moi <me@mycomputer.invalid>";
msg.To = "Dave <devnull@ens.fr>";
msg.Subject = "Essai avec CDO.Message";
msg.TextBody = "J'essaie mon nouveau script.\n";
msg.Send();
Pour envoyer le mail, CDO essaie par défaut d'utiliser le serveur SMTP inclus dans IIS, quand il est installé (par exemple pour un Windows XP Pro), ou les paramètres d'Outlook Express. S'il n'arrive pas à trouver les informations requises, l'envoi échoue. Dans ce cas, il faut indiquer explicitement un serveur SMTP ou un répertoire de messages en attente d'envoi. Voici comment indiquer explicitement un serveur SMTP dans l'exemple précédent.

var cfg = new ActiveXObject("CDO.Configuration");
var flds = cfg.Fields;
flds("http://schemas.microsoft.com/cdo/configuration/sendusing")
= 2;
flds("http://schemas.microsoft.com/cdo/configuration/smtpserver")
= "nef.ens.fr";
flds.Update();
var msg = new ActiveXObject("CDO.Message");
msg.Configuration = cfg;
msg.From = "Moi <me@mycomputer.invalid>";
msg.To = "Dave <devnull@ens.fr>";
msg.Subject = "Essai avec CDO.Message";
msg.TextBody = "J'essaie mon nouveau script.\n";
msg.Send();
L'objet CDO.Message permet bien entendu de construire des messages plus complexes, avec des pièces jointes. La méthode est expliquée ici.

Il est également possible d'utiliser CDO pour poster des messages sur un serveur NNTP.

CDO est aussi utilisé pour personaliser le traitement des mails par le serveur SMTP d'IIS.