Add Method


Add a new user.

IUser* Add(
  [in] BSTR Name, 
  [in] BSTR FirstName, 
  [in] BSTR LastName, 
  [in] BSTR Password, 
  [in] long Enabled, 
  [in] long MaxMessageSize, 
  [in] long MaxMBXSize, 
  [in] long Flags
)

Parameters

Name

Name of the user to be added.

FirstName

First name of this user

LastName

Last name of this user

Password

Password of this user

Enabled

1 means current user is active while 0 means current user is disabled.

MaxMessageSize

Maximum single email size for this user

MaxMBXSize

Maximum storage quota size for this user.

Flags

This parameter can be any combination of the following values.

DOMAIN_ADMIN(1) Current user is domain administrator.
CHANGE_PASSWORD(4) Current user can change password.
SMTP_DENIED(8) Current user can't access SMTP service.
POP3_DENIED(16) Current user can't access POP3 service.
WEB_DENIED(32) Current user can't access Web Mail service
CHECK_FROM_AUTH(64) Current user must use the same user name in MAIL FROM and AUTH LOGIN command to do ESMTP authentication.

Return Value

Return value is an User object if this method succeeds; otherwise return value is null.

Remarks

Only "system" account or domain administrator has the permission to invoke this method.

Usage Example

Const DOMAIN_ADMIN		= 1
Const CHANGE_PASSWORD	= 4

Const SMTP_DENIED		= 8
Const POP3_DENIED		= 16
Const WEB_DENIED		= 32
Const CHECK_FROM_AUTH	= 64

Dim server, user, password, requestAddr
server = "localhost"
user = "admin@emailarchitect.net"
password = "mypassword"
requestAddr = "192.168.0.1"

Dim oSvr
Set oSvr = CreateObject("EmailArchitectObjects.ServerRoot")
r = oSvr.Connect( server, user, password, 0, requestAddr )
If r <> 0 Then
  WScript.Echo( "connect server failed!" )
  WScript.Quit
End If

Dim oDomains, oDomain
Set oDomains = oSvr.DomainCollection

'get domain "emailarchitect.net"
Set oDomain = oDomains.Items("emailarchitect.net") 
If oDomain Is Nothing Then
  WScript.Echo( "domain doesn't exist" )
  WScript.Quit
End If

Dim oUsers, oUser
Set oUsers = oDomain.UserCollection

Dim Flags, MaxMessageSize, MaxMBXSize, Password
MaxMessageSize = 4096 * 1024 '4M
MaxMBXSize = 10 * 1024 * 1024 '10M
Password = "xffefad"

Flags = 0
Flags = (CLng(Flags) Or CHANGE_PASSWORD )
Flags = (CLng(Flags) Or DOMAIN_ADMIN )

Set oUser = oUsers.Add( "administrator", _ 
                       "", _
                       "", _
                       Password, _ 
                       1, _
                       MaxMessageSize, _
                       MaxMBXSize, _ 
                       Flags )
                       
If oUser Is Nothing Then
  WScript.Echo( "add user failed." )
  WScript.Quit
End If