Code: Select all
'I have created following postoffice and domains at backend
'PostOffice = "abc.com"
'Domains= {"abc.com","xyz.com"}
'Passing following arguments in call:
call MailboxAdd_FullEmail("admin@xyz.com","asdfasdf")
Public Function MailboxAdd_FullEmail(ByVal Email As String, ByVal Password As String, Optional ByVal Limit As Long = -1) As Long
Dim UserName As String, Domain As String
UserName = Split(Email, "@")(0)
Domain = Split(Email, "@")(1)
Dim result As Long
result = MailboxAdd(Domain, UserName, Limit)
If result <> 0 Then result = LoginAdd(Domain, UserName, Password)
If result <> 0 Then result = AddressMapAdd(Domain, UserName, Email)
MailboxAdd_FullEmail = result
End Function
Public Function MailboxAdd(ByVal Postoffice As String, ByVal UserName As String, Optional ByVal Limit As Long = -1) As Long
Dim RetVal As Long
Dim oMailbox As New MailEnable.Administration.Mailbox
With oMailbox
.Postoffice = Postoffice
.Mailbox = UserName
.RedirectAddress = ""
.RedirectStatus = 0
.Status = 1
RetVal = .GetMailbox
If RetVal = 0 Then 'create the Mailbox
.Limit = Limit
RetVal = .AddMailbox()
Else 'Mailbox already exists.
RetVal = -1
End If
End With
MailboxAdd = RetVal
End Function
Public Function LoginAdd(ByVal Postoffice As String, ByVal UserName As String, ByVal Password As String) As Long
Dim RetVal As Long
Dim AuthorityLogin As New MailEnable.Administration.Login
With AuthorityLogin
.Account = Postoffice
.UserName = UserName & "@" & Postoffice
.Status = 1
.Description = ""
.Host = ""
.Rights = "USER"
RetVal = .GetLogin()
If RetVal = 0 Then 'create the login
.Password = Password
RetVal = .AddLogin()
Else 'login already exists.
RetVal = -1
End If
End With
LoginAdd = RetVal
End Function
Public Function AddressMapAdd(ByVal Postoffice As String, ByVal UserName As String, ByVal Email As String) As Long
Dim RetVal As Long
Dim AddressMap As New MailEnable.Administration.AddressMap
With AddressMap
.Account = Postoffice
.DestinationAddress = "[SF:" & Postoffice & "/" & UserName & "]"
.Scope = "[SMTP:" & Email & "]"
.SourceAddress = "[SMTP:" & Email & "]"
'try To get existing email address.
RetVal = .GetAddressMap
If RetVal = 0 Then 'create a new email address map
RetVal = .AddAddressMap()
Else 'email address already exists.
RetVal = -1
End If
End With
AddressMapAdd = RetVal
End Function
Please help me modifying the code accordingly.
Thanks,
Faheem
faheemsial@gmail.com