WSH實用講座---第三講創建信箱
作者:Eve Cole
更新時間:2009-05-30 19:53:45
建立郵箱,情況就複雜了,因為你可能採用不同的電子郵件伺服器.有些把郵箱資訊放在文字檔裡,有些把資訊放在註冊表裡,有些提供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_localmacineSoftWareIPswitchdomain下的.唯一麻煩的郵箱的初始口令,我們不知道他的加密演算法.所以只能先手工創建一個郵箱,然後採用一個固定的口令,看他加密後是多少,我們的腳本在創建別的郵箱時也使用它.這樣的問題是,我們必須告訴用戶,他們必須在今後修改口令,否則是不安全的.
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.