hmailserver批量添加用户


将内容复制到txt文件中后缀改为vbs

将用户名密码替换为自己的

  脚本内容如下:

Option Explicit
On Error resume next
 
Dim obBaseApp
Dim objFSO
Dim objTextFile
Dim strNewAlias,i
 
Dim scrreport
Dim failed
Dim added
failed = 0
added = 0
 
Const ForReading = 1
 
Set obBaseApp = CreateObject("hMailServer.Application")
 
 
Call obBaseApp.Authenticate("Administrator","password") '*** N.B. 1. set your administrator password in this line 
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("users.txt", ForReading) ' *** N.B. 2. Set your CSV path/filename in this line
Do While objTextFile.AtEndOfStream <> True
strNewAlias = split(objTextFile.Readline, ",")
 
Select Case strNewAlias(0)
Case "User"
AddUser strNewAlias(1), strNewAlias(2), strNewAlias(3)
Case "Alias"
AddAlias strNewAlias(1), strNewAlias(2), strNewAlias(3)
End Select
If err.Number <> 0 Then 'error handling:
scrreport = scrreport & "Failed add (probably duplicate) : " & strNewAlias(0) & "," & strNewAlias(1) & "," & strNewAlias(2) & "," & strNewAlias(3) & VBNewLine
failed = failed + 1
err.Clear
Else
added = added + 1
End If
 
 
i = i + 1
Loop
 
scrreport = scrreport & " " & VBNewLine
scrreport = scrreport & "Added = " & added & VBNewLine
scrreport = scrreport & "Failed or Duplicates = " & failed & VBNewLine
wscript.echo scrreport
 
Sub AddAlias(strAlias,strEmailAddress,strDomain)
Dim obDomain 
Dim obAliases 
Dim obNewAlias
 
Set obDomain = obBaseApp.Domains.ItemByName(strDomain) 
Set obAliases = obDomain.Aliases
Set obNewAlias = obAliases.Add() 
 
obNewAlias.Name = strAlias & "@" & strDomain 'username
obNewAlias.Value = strEmailAddress 'password
obNewAlias.Active = 1 'activates user
obNewAlias.Save() 'saves account
 
Set obNewAlias = Nothing
Set obAliases = Nothing
Set obDomain = Nothing 
 
End Sub
 
Sub AddUser(strUsername, strPassword, strDomain)
Dim obDomain 
Dim obAccounts 
Dim obNewAccount
 
Set obDomain = obBaseApp.Domains.ItemByName(strDomain) 
Set obAccounts = obDomain.Accounts
Set obNewAccount = obAccounts.Add() 
 
obNewAccount.Address = strUsername & "@" & strDomain 'username
obNewAccount.Password = strPassword 'password
obNewAccount.Active = 1 'activates user
obNewAccount.Maxsize = 500 'sets mailbox size, 0=unlimited
obNewAccount.Save() 'saves account
 
Set obNewAccount = Nothing
Set obDomain = Nothing 
Set obAccounts = Nothing
 
End Sub

 


users.txt示例

User,tom,password,xxxx.com 
Alias,jim,[email protected],xxxx.com

会在xxxx.com域添加一个用户名为tom 密码为password的用户,并创建将[email protected]转发至[email protected]


 


参考 https://www.hmailserver.com/forum/viewtopic.php?t=2206 


你可能感兴趣的:(hmailserver,批量添加用户)