創建郵箱,情況就復雜了,因為你可能采用不同的電子郵件服務器.有些把郵箱信息放在文本文件裡,有些把信息放在注冊表
裡,有些提供ADSI接口,所以,得根據具體情況來定.
對於用戶郵箱信息放在文本文件裡的,可以直接操作文本文件,下面是一段寫文本文件的代碼示例:
Dim fs
Dim fw
Set fs = WScript.CreateObject("Scripting.FileSystemObject")
Set fw = fs.CreateTextFile("c:\users.dat")
fw.WriteLine "user1,
[email protected],,,"
對於用戶信息放在注冊表裡的,可以用WSH直接操作注冊表,從而完成郵箱的創建.比如IMAIL,他的用戶信息就放在
HKEY_localMacine\SoftWare\IPswitch\domain\下的.唯一麻煩的郵箱的初始口令,我們不知道他的加密算法.所以只能先手工
創建一個郵箱,然後采用一個固定的口令,看他加密後是多少,我們的腳本在創建別的郵箱時也使用它.這樣的問題是,我們必須
告訴用戶,他們必須在今後修改口令,否則是不安全的.
Exchange Server提供ADSI接口,創建郵箱就方便了.而且他的郵箱可以與NT的域用戶同步.下面是一段示例代碼:
objContainer = GetObject("LDAP://SERVERNAME/o=OrgName/ou=SiteName/cn=RecipIEnts")
objUser = objContainer.Create("Remote-Address", "cn=CustRecip")
objUser.cn = "CustRecip"
objUser.Put "Target-Address", "SMTP:
[email protected]"
objUser.Put "Internet-Encoding", 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 "Replication-Sensitivity", 20
objUser.Put "MAPI-RecipIEnt", False
objUser.SetInfo
WScript.Echo objUser.cn
For i = 1 ToobjUser.PRopertyCount
Set vProp = objUser.Next
WScript.Echo vProp.Name
Next
注:由於我現在沒有Exchange Server做實驗,所以上面這段代碼未曾測試過,如果大家有問題,請到他的原出處尋求解決.
這段腳本,稍加修改,也可以用在ASP中.