Conférence pratique WSH --- Conférence 3 Créer un e-mail
Auteur:Eve Cole
Date de mise à jour:2009-05-30 19:53:45
Lors de la création de boîtes mail, la situation est compliquée car vous pouvez utiliser différents serveurs de messagerie. Certains placent les informations de courrier électronique dans des fichiers texte, d'autres dans le registre et certains fournissent des interfaces ADSI, cela dépend donc de la situation spécifique.
Pour les informations de courrier électronique de l'utilisateur dans un fichier texte, vous pouvez utiliser directement le fichier texte. Voici un exemple de code pour écrire un fichier texte :
f
wxya
Définir fs = WScript.CreateObject("Scripting.FileSystemObject")
Définir fw = fs.CreateTextFile("c:users.dat")
fw.WriteLine "utilisateur1, [email protected],,,"
Pour les informations utilisateur placées dans le registre, vous pouvez utiliser WSH pour faire fonctionner directement le registre afin de terminer la création de la boîte aux lettres. Par exemple, les informations utilisateur d'IMAIL sont placées dans le registre.
Sous HKEY_localmacineSoftWareIPswitchdomain. Le seul problème concernant le mot de passe initial de la boîte aux lettres est que nous ne connaissons pas son algorithme de cryptage. Par conséquent, nous ne pouvons d'abord créer une boîte aux lettres que manuellement, puis utiliser un mot de passe fixe pour voir de quoi il s'agit après l'avoir chiffré. Notre script l'utilisera également lors de la création d'autres boîtes aux lettres. Le problème est que nous devons dire aux utilisateurs qu’ils doivent changer leurs mots de passe à l’avenir, sinon ce n’est pas sûr.
Exchange Server fournit une interface ADSI, ce qui facilite la création de boîtes aux lettres. Et sa boîte aux lettres peut être synchronisée avec les utilisateurs du domaine NT. Voici un exemple de code :
objContainer = GetObject("LDAP://SERVERNAME/o=OrgName/ou=SiteName/cn=Recipients")
objUser = objContainer.Create("Adresse-Remote", "cn=CustRecip")
objUser.cn = "CustRecip"
objUser.Put "Adresse cible", "SMTP: [email protected]"
objUser.Put "Internet-Encodage", 1310720objUser.UID = "CustRecip"
objUser.textEncodedORaddress = "c=US;a= ;p=DOIT;o=CDO;s=CustRecip;"
objUser.Mail = "[email protected]"
objUser.Put "otherMailbox", "MS:OrgName/SiteName/CustRecip"
objUser.Put "Sensibilité à la réplication", 20
objUser.Put "Destinataire MAPI", False
objUser.SetInfo
WScript.Echo objUser.cn
Pour i = 1ToobjUser.PropertyCount
Définir vProp = objUser.Next
WScript.Echo vProp.Name
Suivant
Remarque : Comme je n'ai pas de serveur Exchange pour les expériences pour le moment, le code ci-dessus n'a pas été testé. Si vous avez des questions, veuillez consulter sa source d'origine pour trouver des solutions.
Ce script, avec de légères modifications, peut également être utilisé en ASP.