|
Version 5.1 |
|
|
Command Line Interface/API
The CommuniGate Pro Server provides a Command Line Interface (CLI) for server administrating.
This interface can be used as an alternative for the standard Web Administrator interface.
CLI can also be used as the Application Program Interface (API), so the server can be
managed via scripts and other programs that issue the CLI commands to the server.
The CommuniGate Pro Server provides several methods to access its CLI.
The CommuniGate Pro Perl Interface
document contains the set of the Perl language utilities that
allow a Perl script to access the CommuniGate Pro CLI API. The document also contains links to several useful
sample Perl scripts (automated Account registration and removal, etc.)
The CommuniGate Pro Java Interface
document contains the set of the Java language classes that
allow a Java program to access the CommuniGate Pro CLI API. The document also contains links to
several sample Java programs.
|
|
|
Administrating the Server via the PWD module
The CommuniGate Pro Server CLI is available as an extension to the PWD
protocol.
As soon as a PWD user is authenticated, the CLI commands are accepted. For each CLI
command the server checks the access rights of the authenticated user.
If a command produces some data, the data is sent after the protocol line with the positive
response. The CR-LF combination is sent after the data.
Below is a sample PWD session with CLI commands:
C: telnet servername.com 106
S: 200 CommuniGate Pro at mail.communigate.com PWD Server 5.1 ready
C: USER postmaster
S: 300 please send the PASS
C: PASS postmasterpassword
S: 200 login OK
C: CreateAccount "user1"
S: 200 OK
C: CreateAccount "user1"
S: 501 Account with this name already exists
C: RenameAccount "user1" into "user2"
S: 200 OK
C: CreateDomain "client1.com"
S: 200 OK
C: CreateAccount "user1@client1.com" TextMailbox
S: 200 OK
C: QUIT
S: 200 CommuniGate Pro PWD connection closed
CLI Syntax
The CommuniGate Pro CLI uses the standard Data Formats to parse commands and to format the output results.
Note: These Dictionary format syntax rules allow you to specify a string without the
quotation marks if the string contains alphanumerical symbols only. You should use the
quotation marks if a string contains the dot (.), comma (,), and other non-alphanumerical symbols.
In spite of the fact that the standard Data formats can use several text lines, all data (including arrays and dictionaries)
you specify as CLI parameters should be stored on one command line.
If a CLI command produces some output in the array or dictionary format, the output data can be presented on several lines.
Account Administration
A user should have the Account Settings access right or
the Domain Administration access right to
use the Account Administration CLI commands.
- LISTACCOUNTS [ domainName ]
- Use this command to get the list of all Accounts in the Domain. The command produces output data - a
dictionary with the keys listing all Accounts in the specified (or default) Domain.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the administrator Domain.
- CREATEACCOUNT accountName [accountType] [ external ] [settings]
- Use this command to create new accounts.
- accountName : string
- This parameter specifies the name for the new Account.
The name can contain the @ symbol followed by the Domain name, in this case
the Account is created in the specified Domain. If the Domain name is not specified, the
command applies to the administrator Domain.
- accountType : MultiMailbox | TextMailbox | MailDirMailbox
- This optional parameter specifies the type of the Account to create. If no Account
type is specified a MultiMailbox-type Account is created.
- external
- This optional flag tells the system to create an Account with an external (visible for legacy mailers) INBOX.
- settings : dictionary
- This optional parameter specifies the initial Account settings. Account is created
using the settings specified in the Account Template for the target Domain. If the
settings parameter is specified, it is used to modify the Template settings.
This command can be used by Domain Administrators only if they have
the CanCreateAccounts access right.
If this command is used by a Domain Administrator, it will use only those Account settings
this Administrator is allowed to modify.
- RENAMEACCOUNT oldAccountName into newAccountName
- Use this command to rename Accounts.
- oldAccountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
- newAccountName : string
- This parameter specifies the new Account name. The name can include the Domain name (see above).
This command can be used by Domain Administrators only if they have
the CanCreateAccounts access right.
- DELETEACCOUNT oldAccountName
- Use this command to remove Accounts.
- oldAccountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
This command can be used by Domain Administrators only if they have
the CanCreateAccounts access right.
- GETACCOUNTSETTINGS accountName
- Use this command to get the Account settings. The command produces an output - a dictionary
with the Account settings. Only the explicitly set (not the default) Account settings are included
into the dictionary.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
You can also specify the single asterisk (*) symbol instead of an Account name.
This will indicate the current authenticated Account.
Note: All users can send the GETACCOUNTSETTINGS command for their own Accounts.
- UPDATEACCOUNTSETTINGS accountName newSettings
- Use this command to update the Account settings.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
- newSettings : dictionary
- This dictionary is used to update the Account settings
dictionary. It does not have to contain all settings data, the omitted settings will be left unmodified.
If a new setting value is specified as the string default, the Account setting value is removed,
so the default Account setting value will be used.
If this command is used by a Domain Administrator, it will update only those Account settings
this Administrator is allowed to modify.
- GETACCOUNTEFFECTIVESETTINGS accountName
- Use this command to get the effective Account settings. The command produces an output - a dictionary
with the Account settings. Both the explicitly set and the default Account settings are included
into the dictionary.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
You can also specify the single asterisk (*) symbol instead of an Account name.
This will indicate the current authenticated Account.
Note: All users can send the GETACCOUNTEffectiveSettings command for their own Accounts.
- SETACCOUNTPASSWORD accountName PASSWORD newPassword
- Use this command to update the Account password.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
- newPassword : string
- This string is used to specify the new Account password.
The new password will be stored using the effective Password Encryption setting of the target Account.
To use this command, the user should have the "Basic Settings" Domain Administration right for the target Account Domain.
- VERIFYACCOUNTPASSWORD accountName PASSWORD password
- Use this command to verify the Account password.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
- password : string
- This string is used to specify the password to check (in the clear text format).
To use this command, the user should have any Domain Administration right for the target Account Domain.
- GETACCOUNTALIASES accountName
- Use this command to get the list of Account aliases. The command produces an output - an array
with the Account alias names.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
- SETACCOUNTALIASES accountName newAliases
- Use this command to set the Account aliases.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
- newAliases : array
- This array should contain the Account alias name strings. All old Account aliases are removed.
This command can be used by Domain Administrators only if they have the CanCreateAliases access right.
- GETACCOUNTTELNUMS accountName
- Use this command to get the list of phone numbers assigned to the Account. The command produces an output - an array
with the assigned numbers.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
- SETACCOUNTTELNUMS accountName newAliases
- Use this command to assign telephone numbers to the Account.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
- newAliases : array
- This array should contain the telephone number strings.
All old numbers assigned to the Account are removed.
This command can be used by Domain Administrators only if they have the CanCreateTelnums access right.
- GETACCOUNTMAILRULES accountName
- Use this command to get the list of Account Queue Rules. The command produces an output - an array
of the Queue Rules specified for the Account.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
- SETACCOUNTMAILRULES accountName newRules
- Use this command to set the Account Queue Rules.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
- newRules : array
- This array should contain the Account Queue Rules. All old Account Queue Rules are removed.
This command can be used by Domain Administrators only if they have the RulesAllowed access right.
- GETACCOUNTSIGNALRULES accountName
- Use this command to get the list of Account Signal Rules. The command produces an output - an array
of the Signal Rules specified for the Account.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
- SETACCOUNTSIGNALRULES accountName newRules
- Use this command to set the Account Signal Rules.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
- newRules : array
- This array should contain the Account Signal Rules. All old Account Signal Rules are removed.
This command can be used by Domain Administrators only if they have the SignalRulesAllowed access right.
- UPDATEACCOUNTMAILRULE accountName newRule
UPDATEACCOUNTMAILRULE accountName DELETE oldRule
UPDATEACCOUNTSIGNALRULE accountName newRule
UPDATEACCOUNTSIGNALRULE accountName DELETE oldRule
- Use these commands to update an Account Queue or Signal Rule.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
- newRule : array
- This parameter should be an array, its first element specifies the Rule priority, its second element specifies the Rule name.
The optional third, forth, and fifth elements specify the Rule conditions, Rule actions, and Rule comment.
If the parameter array contains less than 4 elements, the array first element is used to update the priority of the already existing
Rule with the name specified as the second array element. If such a Rule does not exist, the command returns an error.
If the parameter array contains 4 or more elements, the entire parameter array is stored as a new Rule.
If there is an existing Rule with the same name, it is removed.
- oldRule : string
- This string parameter (specified after the DELETE keyword) specifies a name of the Rule to be removed.
If such a Rule does not exist, the command does nothing and it does not return an error.
The UpdateAccountMailRule command can be used by Domain Administrators only if they have
the RulesAllowed access right.
The UpdateAccountSignalRule command can be used by Domain Administrators only if they have
the SignalRulesAllowed access right.
- GETACCOUNTRPOP accountName
- Use this command to get the list of Account RPOP records. The command produces an output - an array
of the RPOP records specified for the Account.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
- SETACCOUNTRPOP accountName newRecords
- Use this command to set the Account RPOP records.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
- newRecords : array
- This array should contain the Account RPOP records. All old Account RPOP records are removed.
This command can be used by Domain Administrators only if they have the CanModifyRPOP access right.
- GETACCOUNTRIGHTS accountName
- Use this command to get the array of the Server or Domain access rights granted to the specified user.
The command produces output data - an array listing all Account Server Access rights.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name.
- GETACCOUNTINFO accountName [Key keyName | ( keyList) ]
- Use this command to get an element of the Account "info" dictionary. The command produces an output - see below.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
You can also specify the single asterisk (*) symbol instead of an Account name.
This will indicate the current authenticated Account.
- keyList : array
- This optional parameter specifies the names of the info keys to retrieve.
Note that when
Account "info" data are stored in .info dictionary files, the "info" elements
have dictionary names starting with the hash (#) symbol. You should NOT include the hash symbol
into the keyName parameter of the GETACCOUNTINFO command.
Sample:GETACCOUNTINFO "user1@domain1.com" (LastLogin LastLoginAddress)
Note: the "info" element names are case-sensitive.
The output is a dictionary with all those "info" elements that exist and
are specified in the keyList array.
- keyName : string
- This optional parameter specifies the name of the requested "info" element.
It can be specified only if the keyList parameter is not specified.
Note that when
Account "info" data are stored in .info dictionary files, the "info" elements
have dictionary names starting with the hash symbol. You should NOT include the hash symbol
into the keyName parameter of the GETACCOUNTINFO command.
Sample:GETACCOUNTINFO "user1@domain1.com" Key LastLogin
Note: the "info" element names are case-sensitive.
The output is the specified "info" element.
If the element is not found, the output is an empty string - two quotation marks ("").
Note: All users can use the GETACCOUNTINFO command to retrieve elements from
their own Account "info" data.
- GETWEBUSER accountName
- Use this command to get the Account WebUser Settings. The command produces an output - a dictionary
with the Account WebUser Settings.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
Note: All users can use the GETWEBUSER command to retrieve their own WebUser settings.
- SETWEBUSER accountName newSettings
- Use this command to set the Account WebUser Settings.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
- newSettings : dictionary
- This dictionary should contain the new Account WebUser Settings. All old Account WebUser Settings are removed.
This command can be used by Domain Administrators only if they have the WebUserSettings access right.
- GETEFFECTIVEWEBUSER accountName
- Use this command to get the effective Account WebUser Settings. The command produces an output - a dictionary
with Account WebUser Settings. Both the explicitly set and the default settings are included into that dictionary.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
Note: All users can use the GetEffectiveWebUser command to retrieve their own effective WebUser settings.
- KILLACCOUNTSESSIONS accountName
- Use this command to interrupt all Account sessions (POP, IMAP, FTP, WebUser, etc.).
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
Note: All Domain Administrators can use this command.
Group Administration
A user should have the Can Modify All Domains and Account Settings access right or
the Domain Administration access right to
use the Groups Administration CLI commands.
- LISTGROUPS [ domainName ]
- Use this command to get the list of all Groups in the Domain. The command produces output data - an
array with the names of all Groups in the specified (or default) Domain.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the administrator Domain.
- CREATEGROUP groupName [settings]
- Use this command to create new Groups.
- groupName : string
- This parameter specifies the name for the new group.
The name can contain the @ symbol followed by the Domain name, in this case
the Group is created in the specified Domain. If the Domain name is not specified, the
command applies to the administrator Domain.
- settings : dictionary
- This optional parameter specifies the initial Group settings and the members list.
This command can be used by Domain Administrators only if they have
the CanCreateGroups access right.
- RENAMEGROUP oldGroupName into newGroupName
- Use this command to rename Groups.
- oldGroupName : string
- This parameter specifies the name of an existing Group. The name can include the Domain name (see above).
- newGroupName : string
- This parameter specifies the new Group name. The name can include the Domain name (see above).
This command can be used by Domain Administrators only if they have the CanCreateGroups access right.
- DELETEGROUP groupName
- Use this command to remove Groups.
- groupName : string
- This parameter specifies the name of an existing Group. The name can include the Domain name (see above).
This command can be used by Domain Administrators only if they have the CanCreateGroups access right.
- GETGROUP groupName
- Use this command to get the group settings. The command produces an output - a dictionary
with the group settings and members.
- groupName : string
- This parameter specifies the name of an existing Group. The name can include the Domain name (see above).
- SETGROUP groupName newSettings
- Use this command to set the Group settings.
- groupName : string
- This parameter specifies the name of an existing group. The name can include the Domain name (see above).
- newSettings : dictionary
- This dictionary is used to replace the Group settings dictionary.
Forwarder Administration
A user should have the Can Modify All Domains and Account Settings access right or
the Domain Administration access right to
use the Forwarders Administration CLI commands.
- LISTFORWARDERS [ domainName ]
- Use this command to get the list of all Forwarders in the Domain. The command produces output data - an
array with the names of all Forwarders in the specified (or default) Domain.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the administrator Domain.
- CREATEFORWARDER forwarderName TO address
- Use this command to create new Forwarders.
- forwarderName : string
- This parameter specifies the name for the new forwarder.
The name can contain the @ symbol followed by the Domain name, in this case
the Forwarder is created in the specified Domain. If the Domain name is not specified, the
command applies to the administrator Domain.
- address : string
- This parameter specifies the E-mail address the Forwarder should reroute E-mail messages and Signals to.
This command can be used by Domain Administrators only if they have the CanCreateForwarders access right.
- RENAMEFORWARDER oldForwarderName into newForwarderName
- Use this command to rename Forwarders.
- oldForwarderName : string
- This parameter specifies the name of an existing forwarder. The name can include the Domain name (see above).
- newForwarderName : string
- This parameter specifies the new Forwarder name. The name can include the Domain name (see above).
This command can be used by Domain Administrators only if they have the CanCreateForwarders access right.
- DELETEFORWARDER forwarderName
- Use this command to remove Forwarders.
- forwarderName : string
- This parameter specifies the name of an existing Forwarder. The name can include the Domain name (see above).
This command can be used by Domain Administrators only if they have the CanCreateForwarders access right.
- GETFORWARDER forwarderName
- Use this command to get the Forwarder address. The command produces an output - a string
with the E-mail address this Forwarder reroutes all E-mail messages and Signals to.
- forwarderName : string
- This parameter specifies the name of an existing Forwarder. The name can include the Domain name (see above).
Domain Administration
A user should have the Can Modify All Domains and Account Settings access right or
the Domain Administration access right to
use the Domain Administration CLI commands.
- GETDOMAINSETTINGS [ domainName ]
- Use this command to get the Domain settings. The command produces an output - a dictionary
with the domainName settings. Only the explicitly set (not the default) settings are included into that dictionary.
- domainName : string
- This optional parameter specifies the name of an existing Domain.
- GETDOMAINEFFECTIVESETTINGS [ domainName ]
- Use this command to get the Domain settings. The command produces an output - a dictionary
with the domainName settings. Both the explicitly set and the default settings are included into that dictionary.
- domainName : string
- This optional parameter specifies the name of an existing Domain.
- UPDATEDOMAINSETTINGS [ domainName ] newSettings
- Use this command to update the Domain settings.
- domainName : string
- This optional parameter specifies the name of an existing Domain.
- newSettings : dictionary
- This dictionary is used to update the Domain settings
dictionary. It does not have to contain all settings data, the omitted settings will be left unmodified.
If a new setting value is specified as the string default, the Domain setting value is removed,
so the default Domain settings value will be used.
If this command is used by a Domain Administrator, it will update only those Domain Settings
that this Domain Administrator is allowed to modify.
- GETACCOUNTDEFAULTS [ domainName ]
- Use this command to get the default Account settings for the specified Domain.
The command produces an output - a dictionary with the default settings.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the Administrator Domain.
- UPDATEACCOUNTDEFAULTS [ domainName ] newSettings
- Use this command to modify the Default Account settings for the specified Domain.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the administrator Domain.
- newSettings : dictionary
- This dictionary is used to modify the Domain Default Account settings.
The dictionary does not have to contain all settings data, the omitted settings will be left unmodified.
If a new setting value is specified as the string default, the setting value is removed, so
the global Server Default Account Settings will be used.
If this command is used by a Domain Administrator, it will update only those Default Account settings
this Administrator is allowed to modify.
- GETWEBUSERDEFAULTS [ domainName ]
- Use this command to get the default Account WebUser Interface settings for the specified Domain.
The command produces an output - a dictionary with the default settings.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the administrator Domain.
- SETWEBUSERDEFAULTS [ domainName ] newSettings
- Use this command to change the Default WebUser Interface settings for the specified Domain.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the authenticated user Domain.
- newSettings : dictionary
- This dictionary is used to replace the Domain Default WebUser Interface settings.
All old Default WebUser Interface settings are removed.
This command can be used by Domain Administrators only if they have the WebUserSettings access right.
- UPDATEWEBUSERDEFAULTS [ domainName ] newSettings
- Use this command to change the Default WebUser Interface settings for the specified Domain.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the authenticated user Domain.
- newSettings : dictionary
- This dictionary is used to modify the Domain Default WebUser Interface settings.
It does not have to contain all settings data, the omitted settings will be left unmodified.
If a new setting value is specified as the string default, the Domain Default WebUser Interface setting value is removed,
so the default Server-wide (or Cluster-wide) WebUser Interface setting value will be used.
This command can be used by Domain Administrators only if they have the WebUserSettings access right.
- GETACCOUNTTEMPLATE [ domainName ]
- Use this command to get the Account Template settings.
The command produces an output - a dictionary with the Template settings.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the administrator Domain.
- UPDATEACCOUNTTEMPLATE [ domainName ] newSettings
- Use this command to modify the Account Template settings.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the administrator Domain.
- newSettings : dictionary
- This dictionary is used to modify the Domain Account Template. All new
Accounts in the specified Domain will be created with the Template settings.
The dictionary does not have to contain all settings data, the omitted settings will be left unmodified.
If a new setting value is specified as the string default, the Template setting value is removed.
If this command is used by a Domain administrator, it will update only those Template settings that the Domain administrator is allowed to modify.
- GETDOMAINALIASES domainName
- Use this command to get the list of Domain Aliases. The command produces an output - an array
with the Domain alias names.
- domainName : string
- This parameter specifies the name of an existing Domain.
- GETDOMAINMAILRULES domainName
- Use this command to get the list of Domain Queue Rules. The command produces an output - an array
of the Queue Rules specified for the Domain.
- domainName : string
- This parameter specifies the name of an existing Domain.
- SETDOMAINMAILRULES domainName newRules
- Use this command to set the Domain Queue Rules.
- domainName : string
- This parameter specifies the name of an existing Domain.
- newRules : array
- This array should contain the Domain Queue Rules. All old Domain Queue Rules are removed.
This command can be used by Domain Administrators only if they have the RulesAllowed access right.
- GETDOMAINSIGNALRULES domainName
- Use this command to get the list of Domain Signal Rules. The command produces an output - an array
of the Signal Rules specified for the Domain.
- domainName : string
- This parameter specifies the name of an existing Domain.
- SETDOMAINSIGNALRULES domainName newRules
- Use this command to set the Domain Signal Rules.
- domainName : string
- This parameter specifies the name of an existing Domain.
- newRules : array
- This array should contain the Domain Signal Rules. All old Domain Signal Rules are removed.
This command can be used by Domain Administrators only if they have the SignalRulesAllowed access right.
- LISTADMINDOMAINS [ domainName ]
- Use this command to get the list of Domains that can be administered by Domain Administrator
Accounts in the specified domainName Domain. The command produces an output - an array
with the Domain names.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the authenticated user Domain.
- INSERTDIRECTORYRECORDS domainName
- Use this command to insert records for Domain objects (Accounts, Groups, Mailing Lists, Forwareders) into the Directory.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the authenticated user Domain.
This command can be used by Domain Administrators only if they have the CentralDirectory access right.
- DELETEDIRECTORYRECORDS domainName
- Use this command to delete Domain object records from the Directory.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the authenticated user Domain.
This command can be used by Domain Administrators only if they have the CentralDirectory access right.
The following commands are available for the System Administrators only:
- LISTDOMAINS
- Use this command to get the list of domains. The command produces output data - an
array with the names of all server domains.
- MAINDOMAINNAME
- Use this command to get the name of the Main Domain. The command produces output data - a
string with the Main Domain name.
- GETDOMAINDEFAULTS
- Use this command to get the server-wide default Domain Settings. The command produces an output - a dictionary
with the default Domain Settings.
- UPDATEDOMAINDEFAULTS newSettings
- Use this command to change the server-wide default Domain settings.
- newSettings : dictionary
- This dictionary is used to update the default Domain settings
dictionary. It does not have to contain all settings data, the omitted settings will be left unmodified.
- SETDOMAINDEFAULTS newSettings
- Use this command to change the server-wide default Domain settings.
- newSettings : dictionary
- This dictionary is used to replace the server-wide default Domain settings dictionary.
- GETCLUSTERDOMAINDEFAULTS
UPDATECLUSTERDOMAINDEFAULTS newSettings
SETCLUSTERDOMAINDEFAULTS newSettings
- These commands are available in the Dynamic Cluster only.
Use these commands instead of the [Get|Update|Set]DomainDefaults commands
to work with the cluster-wide default Domain Settings.
- GETALLACCOUNTSDEFAULTS
- Use this command to get the server-wide Default Account settings. The command produces an output - a dictionary
with the global default Account settings.
- UPDATEALLACCOUNTSDEFAULTS newSettings
- Use this command to update the server-wide Default Account settings.
- newSettings : dictionary
- This dictionary is used to update the Default Account settings
dictionary. It does not have to contain all settings data, the omitted settings will be left unmodified.
- SETALLACCOUNTSDEFAULTS newSettings
- Use this command to set the server-wide Default Account settings.
- newSettings : dictionary
- This dictionary is used to replace the server-wide Default Account settings dictionary.
- GETCLUSTERACCOUNTDEFAULTS
UPDATECLUSTERACCOUNTDEFAULTS newSettings
SETCLUSTERACCOUNTDEFAULTS newSettings
- These commands are available in the Dynamic Cluster only.
Use these commands instead of the [Get|Update|Set]AllAccountsDefaults commands
to work with the cluster-wide Default Account settings.
- GETSERVERWEBUSERDEFAULTS
- Use this command to get the server-wide Default WebUser Interface settings.
The command produces an output - a dictionary with the default settings.
- SETSERVERWEBUSERDEFAULTS newSettings
- Use this command to change the server-wide Default WebUser Interface settings.
- newSettings : dictionary
- This dictionary is used to replace the server-wide Default WebUser Interface settings.
All old server-wide Default WebUser Interface settings are removed.
- GETCLUSTERWEBUSERDEFAULTS
SETCLUSTERWEBUSERDEFAULTS newSettings
- These commands are available in the Dynamic Cluster only.
Use these commands instead of the [Get|Set]ServerWebUserDefaults commands
to work with the cluster-wide Default WebUser Interface settings.
- CREATEDOMAIN domainName [ settings ]
- Use this command to create a new secondary Domain.
- domainName : string
- This parameter specifies the Domain name to create.
- settings : dictionary
- This optional parameter specifies the Domain settings.
- RENAMEDOMAIN oldDomainName into newDomainName
- Use this command to rename a Domain.
- oldDomainName : string
- This parameter specifies the name of an existing secondary Domain.
- newDomainName : string
- This parameter specifies the new Domain name.
- DELETEDOMAIN oldDomainName [ force ]
- Use this command to remove a Domain.
- domainName : string
- This parameter specifies the name of the Domain to be removed.
- force
- This optional parameter specifies that the Domain should be removed even
if it is not empty. All Domain objects (Accounts, Groups, etc.) will be removed.
- CREATESHAREDDOMAIN domainName [ settings ]
- Use this command to create a new shared secondary Domain in a Dynamic Cluster.
- domainName : string
- This parameter specifies the Domain name to create.
- settings : dictionary
- This optional parameter specifies the Domain settings.
- CREATEDIRECTORYDOMAIN domainName [ settings ]
- Use this command to create a new directory-based Domain.
- domainName : string
- This parameter specifies the Domain name to create.
- settings : dictionary
- This optional parameter specifies the Domain settings.
This operation is allowed only when the Directory-based Domains are enabled.
- RELOADDIRECTORYDOMAINS
- Use this command to tell the server to scan the Domains Directory subtree so
it can find all additional Directory-based Domains created directly in the Directory,
bypassing the CommuniGate Pro Server.
This operation is allowed only when the Directory-based Domains are enabled.
- SETDOMAINALIASES domainName newAliases
- Use this command to set the Domain aliases.
- domainName : string
- This parameter specifies the name of an existing Domain.
- newAliases : array
- This array should contain the Domain alias name strings. All old Domain aliases are removed.
- GETSERVERTRUSTEDCERTS
- Use this command to get the server-wide set of Trusted Certificates. The command produces an output - an array
of datablocks. Each datablock contains one X.509 certificate data.
- SETSERVERTRUSTEDCERTS newCertificates
- Use this command to set the server-wide set of Trusted Certificates.
- newCertificates : array
- This array should contain datablocks with X.509 certificate data. It is used to replace the server-wide list of Trusted Certificates.
- GETCLUSTERTRUSTEDCERTS
SETCLUSTERTRUSTEDCERTS newCertificates
- These commands are available in the Dynamic Cluster only.
Use these commands instead of the [Get|Set]ServerTrustedCerts commands
to work with the cluster-wide set of Trusted Certificates.
- GETDIRECTORYINTEGRATION
- Use this command to get the server-wide Directory Integration settings. The command produces an output - a dictionary
with the Directory Integration settings.
- SETDIRECTORYINTEGRATION newSettings
- Use this command to set the server-wide Directory Integration settings.
- newSettings : dictionary
- This dictionary is used to replace the server-wide Directory Integration settings dictionary.
- GETCLUSTERDIRECTORYINTEGRATION
SETCLUSTERDIRECTORYINTEGRATION newSettings
- These commands are available in the Dynamic Cluster only.
Use these commands instead of the [Get|Set]DirectoryIntegration commands
to work with the cluster-wide Directory Integration settings.
- SETDOMAINSETTINGS domainName newSettings
- Use this command to change the Domain settings.
- domainName : string
- This parameter specifies the name of an existing Domain.
- newSettings : dictionary
- This dictionary is used to replace the Domain settings
dictionary. All old Domain settings are removed.
- SETACCOUNTSETTINGS accountName newSettings
- Use this command to change the Account settings.
- accountName : string
- This parameter specifies the name of an existing Account.
- newSettings : dictionary
- This dictionary is used to replace the Account settings
dictionary. All old Account settings are removed.
- SETACCOUNTDEFAULTS [ domainName ] newSettings
- Use this command to change the Default Account settings for the specified Domain.
- domainName : string
- This parameter specifies the Domain name.
- newSettings : dictionary
- This dictionary is used to replace the Domain Default Account settings.
All old Account Default settings are removed.
- SETACCOUNTTEMPLATE [ domainName ] newSettings
- Use this command to change the Account Template settings.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the administrator Domain.
- newSettings : dictionary
- This dictionary is used to update the Domain Account Template. All new
Accounts in the specified Domain will be created with the Template settings.
All old Account Template settings are removed.
- GETDOMAINLOCATION [ domainName ]
- Use this command to get the Domain file directory path (relative to the Server base directory).
The command produces an output - a string with the Domain file path.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the administrator Domain.
- GETACCOUNTLOCATION accountName
- Use this command to get the Account file directory path (for multi-mailbox Accounts) or
the Account INBOX mailbox path (for single-mailbox Accounts). The command produces an output - a string
with the Account file path. The path is relative to the file directory of the Account Domain.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name (see above).
Mailbox Administration
A user should be the mailbox owner, or should have the Can Modify All Domains and Account Settings access right or
the CanAccessMailboxes Domain Administration access right to
use the Mailbox Administration CLI commands.
- LISTMAILBOXES accountName [ FILTER filter] [ AUTH authAccountName]
- Use this command to get the list of Account Mailboxes. The command produces an output - a dictionary.
each dictionary key specifies a mailbox name;
if the authAccountName user is not specified or if the specified user has the Select access right
for this mailbox, the key value contains a dictionary with mailbox information;
if the specified authAccountName does not have the Select access right, the key value contains
an empty array;
if there is a 'mailbox folder' with the dictionary key, but there is no 'regular' mailbox with that name,
the key value is an empty array;
if there is a 'mailbox folder' with the dictionary key, and there is also a 'regular' mailbox with that name,
the key value is an array with one element - the information for the 'regular' mailbox (either a dictionary or an empty array).
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- filter : string
- This optional parameter specifies the filter string to apply to Account Mailbox names. The filter
can use the same wildcard symbols "*" and "%" as the IMAP LIST command. If the filter is not specified,
the filter string "*" is assumed, and all Account Mailboxes are returned.
- authAccountName : string
- This optional parameter specifies the name of an Account on whose behalf the LIST operation
should be executed. If this name is specified, the output includes only those mailboxes for which the
specified Account has the Lookup mailbox access right.
- CREATEMAILBOX accountName MAILBOX mailboxName [ AUTH authAccountName]
- Use this command to create a Mailbox in the specified Account.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- mailboxName : string
- This parameter specifies the name for the new mailbox.
- authaccountname : string
- This optional parameter specifies the name of an Account on whose behalf the operation
should be executed. If this name is specified, the mailbox is created only if the specified Account
has the Create access right for the 'outer' mailbox (this means that an Account should
have the Create access right for the Archive mailbox in order to create the Archive/March mailbox).
- DELETEMAILBOX accountName MAILBOX mailboxName [ AUTH authAccountName]
DELETEMAILBOX accountName MAILBOXES mailboxName [ AUTH authAccountName]
- Use this command to remove a Mailbox from the specified Account. If the keyword MAILBOXES is used, all nested mailboxes (submailboxes)
are deleted, too.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- mailboxName : string
- This parameter specifies the name of the mailbox to be deleted.
- authaccountname : string
- This optional parameter specifies the name of an Account on whose behalf the operation
should be executed. If this name is specified, the mailbox is deleted only if the specified Account
has the Create access right for the 'outer' mailbox (this means that an Account should
have the Create access right for the Archive mailbox in order to delete the Archive/March mailbox), and the
specified Account should have the DELETE right for the specified mailbox.
- RENAMEMAILBOX accountName MAILBOX mailboxName INTO newMailboxName [ AUTH authAccountName]
RENAMEMAILBOX accountName MAILBOXES mailboxName INTO newMailboxName [ AUTH authAccountName]
- Use this command to rename a mailbox in the specified Account. If the keyword MAILBOXES is used, all nested mailboxes (submailboxes)
are renamed, too.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- mailboxName : string
- This parameter specifies the name of the mailbox to be renamed.
- newMailboxName : string
- This parameter specifies the new name for the mailbox.
- authaccountname : string
- This optional parameter specifies the name of an Account on whose behalf the operation
should be executed. If this name is specified, the mailbox is created only if the specified Account
has a right to perform the DELETEMAILBOX operation with the original mailbox name and the CREATEMAILBOX
operation with the new mailbox name (see above).
- GETMAILBOXINFO accountName MAILBOX mailboxName [ AUTH authAccountName]
- Use this command to get the internal information about the Account Mailbox. The command produces an output -
a dictionary with the mailbox internal information.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- mailboxName : string
- This parameter specifies the name of an existing mailbox in the specified Account.
- authaccountname : string
- This optional parameter specifies the name of an Account on whose behalf the operation
should be executed. If this name is specified, the mailbox info is returned only if the specified Account
has the Select mailbox access right.
- GETMAILBOXACL accountName MAILBOX mailboxName [ AUTH authAccountName]
- Use this command to get the access control list for the Account Mailbox. The command produces an output -
a dictionary with the mailbox access elements.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- mailboxName : string
- This parameter specifies the name of an existing mailbox in the specified Account.
- authaccountname : string
- This optional parameter specifies the name of an Account on whose behalf the operation
should be executed. If this name is specified, the ACL info is returned only if the specified Account
has the Admin access right for the specified mailbox.
- SETMAILBOXACL accountName MAILBOX mailboxName [ AUTH authAccountName] newACL
- Use this command to modify the access control list for the Account Mailbox.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- mailboxName : string
- This parameter specifies the name of an existing mailbox in the specified Account.
- authaccountname : string
- This optional parameter specifies the name of an Account on whose behalf the operation
should be executed. If this name is specified, the ACL info is updated only if the specified Account
has the Admin access right for the specified mailbox.
- newACL : dictionary
- This parameter specifies the access right elements to be modified. Each dictionary key specifies
an identifier, and the key value should be a string with access right symbols.
If the key value string starts with the minus ("-") symbol, access rights specified in the string
are removed from the access right element.
If the key value string starts with the plus ("+") symbol, access rights specified in the
string are added to the access right element.
In other cases, access rights specified in the string replace the set of rights in the access right element.
If the access right element for the specified key did not exist, it is created.
If the new access right element has empty set of access rights, the element is removed.
- GETMAILBOXRIGHTS accountName MAILBOX mailboxName AUTH authAccountName
- This command produces an output - a string with the effective mailbox access rights for the given authAccountName.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- mailboxName : string
- This parameter specifies the name of an existing mailbox in the specified Account.
- authaccountname : string
- This parameter specifies the name of an Account whose effective access rights should be retrieved.
- SETMAILBOXCLASS accountName MAILBOX mailboxName [ AUTH authAccountName ] CLASS newClass
- Use this command to set the "class" of an Account mailbox.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- mailboxName : string
- This parameter specifies the name of an existing mailbox in the specified Account.
- authaccountname : string
- This optional parameter specifies the name of an Account whose mailbox access rights should be used.
- newClass : string
- The mailbox class.
- GETACCOUNTSUBSCRIPTION accountName
- This command produces an output - an array with the list of Account "subscribed mailboxes".
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- SETACCOUNTSUBSCRIPTION accountName newSubscription
- Use this command to set the Account "subscribed mailboxes" list.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- newSubscription : array
- The list of subscribed mailboxes. Each array element should be a string with a mailbox name.
- GETMAILBOXALIASES accountName
- This command produces an output - a dictionary. Each dictionary key is the name of an existing
mailbox alias, and the key value is a string with the name of mailbox this alias points to.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- SETMAILBOXALIASES accountName newAliases
- Use this command to set the Account "subscribed mailboxes" list.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- newAliases : dictionary
- The set of new mailbox aliases.
Alert Administration
A user should have the Can Modify All Domains and Account Settings access right or
the CanPostAlerts Domain Administration access right to
use the Alert Administration CLI commands.
- GETDOMAINALERTS [ domainName ]
- Use this command to get the Domain Alerts. The command produces an output - a dictionary
with the Domain alert strings and time stamps.
- domainName : string
- This optional parameter specifies the name of an existing Domain.
- SETDOMAINALERTS [ domainName ] newAlerts
- Use this command to change the Domain alerts.
- domainName : string
- This optional parameter specifies the name of an existing Domain.
- newAlerts : dictionary
- This dictionary is used to replace the Domain alert dictionary.
All old Domain alerts are removed.
- POSTDOMAINALERT domainName ALERT newAlert
- Use this command to post a Domain-wide alert message.
- domainName : string
- This parameter specifies the name of an existing Domain.
- newAlert : string
- This string specifies the Alert text.
- REMOVEDOMAINALERT domainName ALERT timeStamp
- Use this command to remove a Domain-wide alert message.
- domainName : string
- This parameter specifies the name of an existing Domain.
- timeStamp : string
- This string specifies the time stamp of the Alert message to be removed.
- GETACCOUNTALERTS accountName
- Use this command to get the Account Alerts. The command produces an output - a dictionary
with the Account alert strings and time stamps.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- SETACCOUNTALERTS accountName newAlerts
- Use this command to change the Account alerts.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- newAlerts : dictionary
- This dictionary is used to replace the Account alert dictionary.
All old Account alerts are removed.
- POSTACCOUNTALERT accountName ALERT newAlert
- Use this command to post an Account alert message.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- newAlert : string
- This string specifies the Alert text.
- REMOVEACCOUNTALERT accountName ALERT timeStamp
- Use this command to remove an Account alert message.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- timeStamp : string
- This string specifies the time stamp of the Alert message to be removed.
The following commands are available for the System Administrators only:
- GETSERVERALERTS
- Use this command to get the list of the server-wide Alerts. The command produces an output - a dictionary
with the server alert strings and time stamps.
- SETSERVERALERTS newAlerts
- Use this command to change the server-wide Alerts.
- newAlerts : dictionary
- This dictionary is used to replace the server-wide Alert dictionary.
All old server-wide alerts are removed.
- POSTSERVERALERT newAlert
- Use this command to post a server-wide Alert message.
- newAlert : string
- This string specifies the Alert text.
- REMOVESERVERALERT timeStamp
- Use this command to remove a server-wide Alert message.
- timeStamp : string
- This string specifies the time stamp of the Alert message to be removed.
- GETCLUSTERALERTS
SETCLUSTERALERTS newAlerts
POSTCLUSTERALERT newAlert
REMOVECLUSTERALERT timeStamp
- These commands are available in the Dynamic Cluster only.
Use these commands instead of the [Get|Set|Post|Remove]ServerAlert[s] commands
to work with the cluster-wide Alerts.
File Storage Administration
The following commands allow an authenticated user to deal with files in the Account File Storage area.
In order to retrieve files from the private directory and its subdirectories,
the authenticated user should be the Account owner, or the authenticated user should have
the Can Modify All Domains and Account Settings access right
or the WebSite Domain Administration access right.
- GETWEBFILE accountName FILE fileName [ OFFSET position ] [ SIZE sliceSize ]
- Use this command to retrieve a file from the Account File Storage. This command produces an output -
a array of 3 elements. The first element is a datablock with the content of
the specified file, the second element is a timestamp with the file modification date,
and the third element is a number equal to the current file size.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- fileName : string
- This parameter specifies the name of the File Storage file to be retrieved.
- position : number
- If this parameter is specified the File Storage file is read starting from the specified file position.
- sliceSize : number
- If this parameter is specified, no more than the specified number of file data bytes is returned.
The authenticated user should be the Account owner, or should have the Can Modify All Domains and Account Settings access right or
the WebSite Domain Administration access right to
use the following Account File Storage Administration CLI commands.
- PUTWEBFILE accountName FILE fileName [ OFFSET position ] DATA fileData
- Use this command to store a file in the Account File Storage. If a File Storage
file with the specified name already exists, the old file is removed.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- fileName : string
- This parameter specifies the name for the File Storage file.
- position : number
- If this parameter is specified and it is not zero, the File Storage file is rewritten/extended starting from the specified file position.
The file should already exist, and the specified position should not be larger than the current file size.
- fileData : datablock
- This parameter contains the file data.
- RENAMEWEBFILE accountName FILE oldFileName INTO newFileName
- Use this command to rename a file in the Account File Storage.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- oldFileName : string
- This parameter specifies the name of an existing File Storage file.
- newFileName : string
- This parameter specifies the new name for the File Storage file.
- DELETEWEBFILE accountName FILE fileName
- Use this command to remove a file from the Account File Storage.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- oldFileName : string
- This parameter specifies the name of an existing File Storage file.
- LISTWEBFILES accountName [ PATH filePath]
- Use this command to list all files in the File Storage top directory or in one of its
subdirectories. This command produces an output -
a dictionary, where each key is a name of the File Storage file, and the key value is
a dictionary for regular file and and empty array for subdirectories.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- filePath : string
- This optional parameter specifies the name of the File Storage subdirectory. You can
omit this parameter along with the PATH keyword, in this case the command returns the list
of files in the top File Storage directory.
- GETWEBFILESINFO accountName
- Use this command to get the statistical information about all files in the Account File Storage.
This command produces an output - an array with 2 number elements. The first element
contains the total size of all File Storage files, the second element contains the number of files in the File Storage.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
Mailing Lists Administration
A user should have the All Users Server access right or
the Domain Administrator access right
to use the Mailing List Administration CLI commands.
- LISTLISTS [ domainName ]
- Use this command to get the list of all mailing lists in the Domain.
The command produces output data - an array of strings.
Each string is the name of a mailing list in the specified (or default) Domain.
- domainName : string
- This optional parameter specifies the Domain name.
- GETDOMAINLISTS [ domainName ]
- Use this command to get the list of all mailing lists in the Domain.
The command produces output data - a dictionary.
Each dictionary key is the name of a mailing list in the specified (or default) Domain.
The key value is a numeric string with the actual number of the list subscribers ("-1" if the current number of subscribers is not known).
- domainName : string
- This optional parameter specifies the Domain name.
- GETACCOUNTLISTS accountName
- Use this command to get the list of all mailing lists belonging to the specified Account. The command produces output data - a
dictionary. Each dictionary key is the name of a mailing list belonging to the specified (or default) Account. The key
value is a numeric string with the actual number of the list subscribers ("-1" if the current number of subscribers is not known).
- accountName : string
- This parameter specifies the list's owner Account name.
- CREATELIST listName for accountName
- Use this command to create a mailing list.
- listName : string
- This parameter specifies the name of an existing mailing list. It can include the Domain name.
If the Domain name is not specified, the user Domain is used by default.
- accountName : string
- This parameter specifies the name of the mailing list owner. It should be the name of an already existing
Account in the mailing list Domain.
Domain Administrators can use this command if they have the CanCreateLists Domain access right.
- RENAMELIST listName into newName
- Use this command to rename a mailing list.
- listName : string
- This parameter specifies the name of an existing mailing list. It can include the Domain name.
If the Domain name is not specified, the user Domain is used by default.
- newName : string
- This parameter specifies the new name for the mailing list (without the Domain part).
Domain Administrators can use this command if they have the CanCreateLists Domain access right.
- DELETELIST listName
- Use this command to remove a mailing list.
- listName : string
- This parameter specifies the name of an existing mailing list. It can include the Domain name.
If the Domain name is not specified, the user Domain is used by default.
Domain Administrators can use this command if they have the CanCreateLists Domain access right.
The following commands can be used by the mailing list owner, by a Domain Administrator with
the CanAccessLists access right, or by a Server Administrator with the All Users access right.
- GETLIST listName
- Use this command to retrieve list settings. The command produces an output - a dictionary
with the listName mailing list settings.
- listName : string
- This parameter specifies the name of an existing mailing list. It can include the Domain name.
If the Domain name is not specified, the user Domain is used by default.
- UPDATELIST listName newSettings
- Use this command to modify list settings.
- listName : string
- This parameter specifies the name of an existing mailing list. It can include the Domain name.
If the Domain name is not specified, the user Domain is used by default.
- newSettings : dictionary
- This dictionary is used to update the mailing list settings
dictionary. It does not have to contain all settings data, the omitted settings will be left unmodified.
- LIST listName operation [silently] [confirm] subscriber
- Use this command to update the subscribers list.
- listName : string
- This parameter specifies the name of an existing mailing list. It can include the Domain name.
If the Domain name is not specified, the user Domain is used by default.
- operation : subscribe | feed | digest | index | null | banned | unsubscribe
- This parameter specifies the operation (see the LIST module section for the details).
- silently
- This optional parameter tells the server not to send the Welcome/Bye message to the subscriber.
- confirm
- This optional parameter tells the server to send a confirmation request to the subscriber.
- subscriber : E-mail address
- The subscriber address. It can include the comment part used as the subscriber's real name.
Sample:LIST MyList@mydomain.com FEED confirm "Bill Jones" <BJones@company.com>
- LISTSUBSCRIBERS listName [ FILTER filter [ limit ] ]
- Use this command to retrieve list subscribers. The command produces an output - an array
with subscribers' E-mail addresses.
- listName : string
- This parameter specifies the name of an existing mailing list. It can include the Domain name.
If the Domain name is not specified, the user Domain is used by default.
- filter : string
- If this optional parameter is specified, only the addresses containing the specified string are returned.
- limit : number
- This optional parameter limits the number of subscriber addresses returned.
- READSUBSCRIBERS listName [ FILTER filter [ limit ] ]
- Use this command to retrieve list subscribers. The command produces an output - an array
of subscriber descriptor dictionaries.
- listName : string
- This parameter specifies the name of an existing mailing list. It can include the Domain name.
If the Domain name is not specified, the user Domain is used by default.
- filter : string
- If this optional parameter is specified, only subscribers with addresses containing the specified string are returned.
- limit : number
- This optional parameter limits the number of subscriber dictionaries returned.
A dictionary describing a subscriber has the following elements:
- Sub
- E-mail address string
- RealName
- an optional string with Real name
- mode
- a string with subscription mode (index, digest, null, etc.)
- subscribeTime
- timestamp data specifying the moment when this user subscribed.
- posts
- number of postings on this list
- lastBounceTime
- optional timestamp data specifying the last time when messages sent to this user failed.
- bounces
- optional numeric data specifying the number of failed delivery reports received for this user.
- GETSUBSCRIBERINFO listName NAME subscriberAddress
- Use this command to retrieve information about a list subscriber. The command produces an output - a dictionary
with subscriber information.
- listName : string
- This parameter specifies the name of an existing mailing list. It can include the Domain name.
If the Domain name is not specified, the user Domain is used by default.
- subscriberAddress : string
- This parameter specifies the E-mail address of the list subscriber.
If the subscriber does not exist, an empty dictionary is returned. Otherwise, the dictionary contains the following elements:
- mode
- This string element specified the subscription mode (digest, index, etc.)
This element is equal to unsubcribe if the address has been unsubscribed, but has not been removed from the list.
This element is equal to subcribe if a user has started subscription, but the subscription has not been confirmed.
- confirmationID
- This element contains the subscriber's Confirmation ID string.
- timeSubscribed
- This string element specifies when the address was subscribed (in the ACAP date/time format).
- posts
- This string element may contain the strings special, moderateAll, prohibited, or the string
with the number of messages posted from this address. If the next postings from this address are to be moderated, the
element contains an array with one string element that contains the number of postings to be moderated.
- bounces
- This optional string element contains the number of bounces received from this address.
- lastBounced
- This optional string element specifies the last time when messages to this address
bounced were bounced. The data nd time are specified in the ACAP format.
- RealName
- This optional string element contains the real name of the subscriber.
- SETPOSTINGMODE listName FOR subscriberAddress [ UNMODERATED | MODERATEALL | PROHIBITED | SPECIAL | numberOfModerated ]
- Use this command to set the posting mode for the specfied subscriber.
- listName : string
- This parameter specifies the name of an existing mailing list. It can include the Domain name.
If the Domain name is not specified, the user Domain is used by default.
- subscriberAddress : string
- This parameter specifies the E-mail address of the list subscriber.
- postingMode : number
- This optional parameter limits the number of subscriber addresses returned.
The command sets the posting mode the specified subsriber. If numberOfModerated (a number) is specified,
the posting mode set requires moderation of the first numberOfModerated messages from this subscriber.
- PROCESSBOUNCE listName [FATAL] FOR subscriberAddress
- Use this command to perform the same action the List Manager performs when it receives a bounce message for the subscriber address.
- listName : string
- This parameter specifies the name of an existing mailing list. It can include the Domain name.
If the Domain name is not specified, the user Domain is used by default.
- subscriberAddress : string
- This parameter specifies the E-mail address of the list subscriber.
Use the FATAL keyword to emulate a "fatal" bounce. Otherwise the command emulates a non-fatal bounce.
Web Skins Administration
The following commands can be used to manage CommuniGate Pro Skins used
for the CommuniGate Pro WebUser Interface.
A user should have the Account Settings access right or
the CanModifySkins Domain Administration access right to
modify the Domain Skins.
- LISTDOMAINSKINS [domainName]
- Use this command to list custom Domain Skins. The command
produces an output - an array with Skin names.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the administrator Domain.
- CREATEDOMAINSKIN [domainName SKIN] skinName
- Use this command to create a custom Domain Skin.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the administrator Domain. If it is specified, it should be followed with the SKIN keyword.
- skinName : string
- This parameter specifies the name of the new Skin.
- RENAMEDOMAINSKIN [domainName SKIN] skinName INTO newSkinName
- Use this command to rename a custom Domain Skin.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the administrator Domain. If it is specified, it should be followed with the SKIN keyword.
- skinName : string
- This parameter specifies the name of an existing Skin.
- newSkinName : string
- This parameter specifies the new name for the Skin.
- DELETEDOMAINSKIN [domainName SKIN] skinName
- Use this command to delete a custom Domain Skin.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the administrator Domain. If it is specified, it should be followed with the SKIN keyword.
- skinName : string
- This parameter specifies the name of the Skin to be deleted.
- LISTDOMAINSKINFILES [ domainName SKIN] skinName
- Use this command to list files in a custom Domain Skin. The command
produces an output - a dictionary with Skin file names as keys. The dictionary element values
are dictionaries with file attributes.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the administrator Domain. If it is specified, it must be followed with the SKIN keyword.
- skinName : string
- This parameter specifies the name of an existing Domain Skin.
- READDOMAINSKINFILE [ domainName SKIN] skinName FILE fileName
- Use this command to read a file from a custom Domain Skin. The command
produces an output - an array. The first array element is a datablock with
the Skin file content, the second array element is a timestamp with the file modification date.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the administrator Domain. If it is specified, it must be followed with the SKIN keyword.
- skinName : string
- This parameter specifies the name of an existing Domain Skin.
- fileName : string
- This parameter specifies the name of an existing file in the specified Domain Skin.
- STOREDOMAINSKINFILE [ domainName SKIN] skinName FILE fileName DATA fileContent
STOREDOMAINSKINFILE [ domainName SKIN] skinName FILE fileName DELETE
- Use this command to store a file into a custom Domain Skin, or to delete a file from a custom Domain Skin.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the administrator Domain. If it is specified, it must be followed with the SKIN keyword.
- skinName : string
- This parameter specifies the name of an existing Domain Skin.
- fileName : string
- This parameter specifies the Skin file name.
- fileContent : datablock
- This datablock contains file content. This parameter is specified only if the DATA keyword is used.
If the DATA keyword is specified and the Skin contains a file with the same name, the old file is deleted.
The file with the specified name is removed from the Skin Cache (in the Dynamic Cluster the file
is removed from Skin caches on all cluster members).
The following commands are available for the System Administrators only:
- LISTSERVERSKINS
- Use this command to list custom Server Skins. The command
produces an output - an array with Skin names.
- CREATESERVERSKIN skinName
- Use this command to create a custom Server Skin.
- skinName : string
- This parameter specifies the name of the new Skin.
- RENAMESERVERSKIN skinName INTO newSkinName
- Use this command to rename a custom Server Skin.
- skinName : string
- This parameter specifies the name of an existing Skin.
- newSkinName : string
- This parameter specifies the new name for the Skin.
- DELETESERVERSKIN skinName
- Use this command to delete a custom Server Skin.
- skinName : string
- This parameter specifies the name of the Skin to be deleted.
- LISTSERVERSKINFILES skinName
- Use this command to list files in a custom Domain Skin. The command
produces an output - a dictionary with Skin file names as keys. The dictionary element values
are dictionaries with file attributes.
- skinName : string
- This parameter specifies the name of an existing Server Skin.
- READSERVERSKINFILE skinName FILE fileName
- Use this command to read a file from a custom Server Skin. The command
produces an output - an array. The first array element is a datablock with
the Skin file content, the second array element is a timestamp with the file
modification date.
- skinName : string
- This parameter specifies the name of an existing Server Skin.
- fileName : string
- This parameter specifies the name of an existing file in the specified Server Skin.
- STORESERVERSKINFILE skinName FILE fileName DATA fileContent
STORESERVERSKINFILE skinName FILE fileName DELETE
- Use this command to store a file into a custom Server Skin, or to delete a file from a custom Server Skin.
- skinName : string
- This parameter specifies the name of an existing Server Skin.
- fileName : string
- This parameter specifies the Skin file name.
- fileContent : datablock
- This datablock contains the file content. This parameter is specified only if the DATA keyword is used.
If the DATA keyword is specified and the Skin contains a file with the same name, the old file is deleted.
The file with the specified name is removed from the Skin Cache (in the Dynamic Cluster the file
is removed from Skin caches on all cluster members).
- LISTCLUSTERSKINS
CREATECLUSTERSKIN skinName
RENAMECLUSTERSKIN skinName INTO newSkinName
DELETECLUSTERSKIN skinName
- These commands are available in the Dynamic Cluster only.
Use these commands instead of the [List|Create|Rename|Delete]ServerSkin[s] commands
to work with the cluster-wide Skins.
- LISTCLUSTERSKINFILES skinName
READCLUSTERSKINFILE skinName FILE fileName
STORECLUSTERSKINFILE skinName FILE fileName DATA fileContent
STORECLUSTERSKINFILE skinName FILE fileName DELETE
- These commands are available in the Dynamic Cluster only.
Use these commands instead of the [List|Read|Store]ServerSkinFile[s] commands
to work with files in the cluster-wide Skins.
Web Interface Integration
The following commands can be used to integrate the CommuniGate Pro WebUser Interface
with third-party applications.
- CREATEWEBUSERSESSION accountName ADDRESS ip-address [ WML | IMode ] [ SKIN skinName ]
- Use this command to create a WebUser session for the specified Account. The command
produces an output - a string that contains the WebUser Session ID. This string
can be used to compose a URL that will allow the client browser to "enter" the WebUser Session.
That URL can have the following format:
http://cgateproserver:port/Session/rrrrrrrrrrrr/Mailboxes.wssp
where rrrrrrrrrrrr is the Session ID string returned.
- accountName : string
- This parameter specifies the Account name.
- ip-address : string
- This parameter specifies the IP address of the client browser. If the Account has
the "Fixed IP" WebUser Preference setting enabled, connections to the session will be allowed
from that IP address only.
- skinName : string
- This optional parameter specifies the Skin to use for the newly created session.
The optional WML or IMode keywords can be used to emulate login via a WML or I-Mode browser.
The authenticated user should have the Can Modify All Domains and Account Settings access right or
the CanCreateWebUserSessions Domain Administration access right to
create WebUser Sessions.
- FINDWEBUSERSESSION accountName [ ADDRESS ip-address ]
- Use this command to find an existing WebUser session for the specified Account. The command
produces an output - a string that contains the WebUser Session ID.
- accountName : string
- This parameter specifies the Account name.
- ip-address : string
- This optional parameter specifies the IP address of the client browser.
If it is specified, the command will find only those sessions that
have the "Fixed IP" WebUser Preference setting disabled or have the same login IP address as the specified one.
The authenticated user should have the Can Modify All Domains and Account Settings access right or
the CanCreateWebUserSessions Domain Administration access right to
use this command.
- GETWEBUSERSESSION sessionID [ DOMAIN domainName ]
- Use this command to retrieve the WebUser Session data. The command
produces an output - a dictionary with the session dataset (specified in the WSSP section of this manual).
- sessionID : string
- This parameter specifies the WebUser Session ID.
- domainName : string
- This optional parameter specifies the name of Domain the session Account belongs to.
The authenticated user should have the Can Modify All Domains and Account Settings access right
to retrieve WebUser Session data if the domainName parameter is not specified. If the domainName is specified, the
authenitcated user should have the CanCreateWebUserSessions Domain Administration access right for the
specified Domain.
This operation resets the WebUser session inactivity timer.
- KILLWEBUSERSESSION sessionID [ DOMAIN domainName ]
- Use this command to terminate a WebUser Session.
- sessionID : string
- This parameter specifies the WebUser Session ID.
- domainName : string
- This optional parameter specifies the name of Domain the session Account belongs to.
The authenticated user should have the Can Modify All Domains and Account Settings access right
to terminate a WebUser Session if the domainName parameter is not specified. If the domainName is specified, the
authenitcated user should have the CanCreateWebUserSessions Domain Administration access right for the
specified Domain.
Real-Time Application Administration
The following commands can be used to manage CommuniGate Pro Real-Time
Application Environments.
A user should have the Account Settings access right or
the CanModifyPBXApps Domain Administration access right to
modify the Domain Real-Time Application Environment.
- CREATEDOMAINPBX domainName [ FILE language ]
- Use this command to create the Domain Real-Time Application Environment or to create
its national subset.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the administrator Domain.
- language : language
- This optional parameter specifies a national subset name.
- LISTDOMAINPBXFILES domainName [ FILE language ]
- Use this command to list files in the Domain Real-Time Application Environment. The command
produces an output - a dictionary with file names used as keys.
The dictionary element values are dictionaries with file attributes.
- domainName : string
- This optional parameter specifies the Domain name. If the Domain name is not specified, the
command applies to the administrator Domain.
- language : language
- This optional parameter specifies a national subset name.
- READDOMAINPBXFILE domainName FILE fileName
- Use this command to read a file from the Domain Real-Time Application Environment. The command
produces an output - a datablock with the file contents.
- domainName : string
- This parameter specifies the Domain name.
- fileName : string
- This parameter specifies the file name. To retrieve a file from a national subset,
specify the name as language/fileName.
- STOREDOMAINPBXFILE domainName FILE fileName DATA fileContent
STOREDOMAINPBXFILE domainName FILE fileName DELETE
- Use this command to store a file into the Domain Real-Time Application Environment,
or to delete a file from the Domain Real-Time Application Environment.
- domainName : string
- This parameter specifies the Domain name.
- fileName : string
- This parameter specifies the file name. To store a file into a national subset,
specify the name as language/fileName.
- fileContent : datablock
- This parameter is specified only if the DATA keyword is used. It should contain the file contents.
If the DATA keyword is specified and the environment contains a file with the specified name, the old file is deleted.
The file with the specified name is removed from the Environment cache (in the Dynamic Cluster the file
is removed from all cluster members caches).
The following commands are available for the System Administrators only:
- CREATESERVERPBX [ language ]
- Use this command to create the Server-wide Real-Time Application Environment or to create
its national subset.
- language : language
- This optional parameter specifies a national subset name.
- LISTSERVERPBXFILES [ language ]
- Use this command to list files in the Server-wide Real-Time Application Environment. The command
produces an output - a dictionary with file names used as keys.
The dictionary element values are dictionaries with file attributes.
- language : string
- This optional parameter specifies a national subset name.
- READSERVERPBXFILE fileName
- Use this command to read a file from the Server-wide Real-Time Application Environment. The command
produces an output - a datablock with the file contents.
- fileName : string
- This parameter specifies the file name. To retrieve a file from a national subset,
specify the name as language/fileName.
- STORESERVERPBXFILE fileName DATA fileContent
STORESERVERPBXFILE fileName DELETE
- Use this command to store a file into the Server-wide Real-Time Application Environment,
or to delete a file from the Server-wide Real-Time Application Environment.
- fileName : string
- This parameter specifies the file name. To store a file into a national subset, specify the name as language/fileName.
- fileContent : datablock
- This parameter is specified only if the DATA keyword is used. It should contain the file contents.
If the DATA keyword is specified and the environment contains a file with the specified name,
the old file is deleted.
The file with the specified name is removed from the Environment cache (in the Dynamic Cluster the file
is removed from all cluster members caches).
- CREATECLUSTERPBX [ language ]
LISTCLUSTERPBXFILES [ language ]
READCLUSTERPBXFILE fileName
STORECLUSTERPBXFILE fileName DATA fileContent
STORECLUSTERPBXFILE fileName DELETE
- These commands are available in the Dynamic Cluster only.
Use these commands instead of the [List|Read|Store]ServerPBXFile[s] commands
to work with files in the cluster-wide Real-Time Application Environment.
Real-Time Application Control
The following commands can be used to manage CommuniGate Pro Real-Time
Application Tasks.
- STARTPBXTASK accountName PROGRAM programName [ ENTRY entryName ] [ PARAM parameter ]
- Use this command to start a new PBX Task. The command produces an output - a string with the Task ID.
- accountName : string
- This parameter specifies the name of an Account. The Task is started on this Account behalf.
The name can include the Domain name. If the Domain name is not specified, the current user Domain is used by default.
- programName : string
- The name of the program (the .sppr file) to start.
- entryName : string
- This optional parameter specifies the program entry point. If this parameter is not specified, the main entry point is used.
- parameter : object
- This optional parameter specifies the program parameter. The program code can retrieve it using the following code:
Vars().startParameter
- SENDTASKEVENT taskID EVENT eventName [ PARAM parameter ]
- Use this command to send an Event to an existing PBX Task.
- taskID : string
- This parameter specifies the Task ID.
- eventName : string
- The name of the Event to send.
- parameter : object
- This optional parameter specifies the Event parameter.
- KILLNODE taskID
- Use this command to kill an existing PBX Task.
- taskID : string
- This parameter specifies the Task ID.
Server Settings
A user should have the Server Settings access right to
use the Server Settings CLI commands.
- GETMODULE moduleName
- Use this command to get the module settings. The command produces an output - a dictionary with the module settings.
- moduleName : string
- This parameter specifies the name of a CommuniGate Pro Server module.
- SETMODULE moduleName newSettings
- Use this command to set the module settings.
- moduleName : string
- This parameter specifies the name of a CommuniGate Pro Server module.
- newSettings : dictionary
- This dictionary is used to set the module settings dictionary.
- UPDATEMODULE moduleName newSettings
- Use this command to update the module settings.
- moduleName : string
- This parameter specifies the name of a CommuniGate Pro Server module.
- newSettings : dictionary
- This dictionary is used to update the module settings dictionary. It does not have to contain all settings data, the omitted settings will be left unmodified.
- GETLANIPS
- Use this command to retrieve the set of LAN IP Addresses. The command produces an output -
a (multi-line) string with LAN IP addresses and address ranges.
- GETBLACKLISTEDIPS
- Use this command to retrieve the set of Blacklisted IP Addresses. The command produces an output -
a (multi-line) string with Blacklisted IP addresses and address ranges.
- GETCLIENTIPS
- Use this command to retrieve the set of Client IP Addresses. The command produces an output -
a (multi-line) string with Client IP addresses and address ranges.
- GETWHITEHOLEIPS
- Use this command to retrieve the set of WhiteHole IP Addresses. The command produces an output -
a (multi-line) string with White Hole IP addresses and address ranges.
- GETPROTECTION
- Use this command to retrieve the Protection settings. The command produces an output -
a dictionary with the server Protection settings.
- GETBANNED
- Use this command to retrieve the Banned Message Lines settings. The command produces an output -
a dictionary with the server Banned Message Lines settings.
- SETLANIPS newAddresses
- Use this command to update the set of LAN IP Addresses.
- newAddresses : string
- This (multi-line) string parameter contains the set of addresses and address ranges forming the
new set of LAN IP Addresses.
- SETBLACKLISTEDIPS newAddresses
- Use this command to update the set of Blacklisted IP Addresses.
- newAddresses : string
- This (multi-line) string parameter contains the set of addresses and address ranges forming the
new set of Blacklisted IP Addresses.
- SETCLIENTIPS newAddresses
- Use this command to update the set of Client IP Addresses.
- newAddresses : string
- This (multi-line) string parameter contains the set of addresses and address ranges forming the
new set of Client IP Addresses.
- SETWHITEHOLEIPS newAddresses
- Use this command to update the set of WhiteHole IP Addresses.
- newAddresses : string
- This (multi-line) string parameter contains the set of addresses and address ranges forming the
new set of WhiteHole Addresses.
- SETPROTECTION newSettings
- Use this command to set the server Protection Settings.
- newSettings : dictionary
- New server Protection settings.
- SETBANNED newSettings
- Use this command to set the server Banned Message Line Settings.
- newSettings : dictionary
- New server Banned settings.
- GETCLUSTERLANIPS
GETCLUSTERBLACKLISTEDIPS
GETCLUSTERCLIENTIPS
GETCLUSTERWHITEHOLEIPS
GETCLUSTERPROTECTION
GETCLUSTERBANNED
SETCLUSTERLANIPS newAddresses
SETCLUSTERBLACKLISTEDIPS newAddresses
SETCLUSTERCLIENTIPS newAddresses
SETCLUSTERWHITEHOLEIPS newAddresses
SETCLUSTERPROTECTION newSettings
- Use these commands to retreieve and update the Cluster-wide IP Address lists and Protection settings.
- GETSERVERMAILRULES
- Use this command to read the Server-Wide Automated Mail Processing Rules. The command produces an output - an array
of the Server Queue Rules.
- SETSERVERMAILRULES newRules
- Use this command to set the Server-Wide Automated Mail Processing Rules.
- newRules : array
- An array of new Server Queue Rules.
- GETSERVERSIGNALRULES
- Use this command to read the Server-Wide Automated Signal Processing Rules. The command produces an output - an array
of the Server Signal Rules.
- SETSERVERSIGNALRULES newRules
- Use this command to set the Server-Wide Automated Signal Processing Rules.
- newRules : array
- An array of new Server Signal Rules.
- GETCLUSTERMAILRULES
SETCLUSTERMAILRULES newRules
GETCLUSTERSIGNALRULES
SETCLUSTERSIGNALRULES newRules
- Use these commands to retreieve and update the Cluster-wide Rules.
- GETROUTERTABLE
- Use this command to read the Router Table. The command produces an output - a (multi-line) string
with the Router Table text.
- SETROUTERTABLE newTable
- Use this command to set the Router Table.
- newTable : string
- A (multi-line) string containing the text of the new Router Table
Note: multiple lines should be separated with the \e symbols.
- GETROUTERSETTINGS
- Use this command to read the Router settings. The command produces an output - a dictionary
with the Router settings.
- SETROUTERSETTINGS newSettings
- Use this command to set the Router settings.
- newSettings : dictionary
- A dictionary containing new Router settings.
- GETCLUSTERROUTERTABLE
SetClusterRouterTable newTable
GetClusterRouterSettings
SetClusterRouterSettings newSettings
- Use these commands to deal with the Cluster-Wide Router Table and settings.
- GETSERVERINTERCEPT
- Use this command to read the Lawful Intercept settings. The command produces an output - a dictionary
with the Intercept settings.
- SETSERVERINTERCEPT newSettings
- Use this command to set the Lawful Intercept settings.
- newSettings : dictionary
- A dictionary containing new Intercept settings.
- GETCLUSTERINTERCEPT
SETCLUSTERINTERCEPT newSettings
- These commands are the same as the GetServerIntercept and SetServerIntercept commands, but they
deal with the Cluster-Wide Lawful Intercept settings.
- REFRESHOSDATA
- Use this command to make the Server re-read the IP data from the server OS: the
set of the local IP addresses, and the set of the DNS addresses.
A user should have the Server Settings access right or the
Account Settings access right to use the following CLI commands.
- ROUTE address [ mail | access | signal ]
- Use this command to get the routing for the specified address.
- address : string
- This parameter specifies the E-mail address to be processed with the CommuniGate Pro Router.
- mail or access or signal
- This optional flag specifies the Routing type (see the Router section for more details).
The default mode is access.
This command produces an output - an array of three strings:
- module
- the name of the CommuniGate Pro module the address is routed to, or SYSTEM if
the address is routed to a built-in destination (like NULL).
- host
- the object/queue handled by the specified module: an Internet domain name for the SMTP
module, a local Account name for the Local Delivery module, etc.
- address
- the address inside the queue (E-mail address for SMTP, Real-To: address for Local Delivery, etc.)
Monitoring
A user should have the Monitoring access right to
use the Server Monitoring CLI commands.
- GETSNMPELEMENT ObjectID
- Use this command to retrieve the current value of a server state (SNMP) element.
- ObjectID : string
- The object ID of the server state element (see the SNMP section for more details).
This command produces an output - a string with the server state element value.
- SHUTDOWN
- Use this command to stop the CommuniGate Pro Server.
Access Rights Administration
A user should have the unlimited access right to
use the Access Rights Administration CLI commands.
- SETACCOUNTRIGHTS accountName newRights
- Use this command to set the Account Server Access rights.
- accountName : string
- This parameter specifies the name of an existing Account. The name can include the Domain name.
- newRights : array
- This array should contain the Access Right codes. All old Account access rights are removed.
To set access rights for an Account in a secondary Domain (i.e. Domain Administration Rights),
the user may have only the All Account and Domains administration access right.
Statistics
The Account-Level Statistics data is collected if the Account Statistics option is enabled.
To enable this option, open the General pages in the Settings realm of the CommuniGate Pro WebAdmin Interface, and
find the Local Account Manager panel on the Other page.
- GETACCOUNTSTAT accountName [ KEY keyName ]
- Use this command to retrieve statistics data about the specified Account.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- keyName : string
- This optional parameter specifies the name of the statistical entry to retrieve.
This command produces an output - a number or a timeStamp with the specified statistical information,
or (if the KEY keyword and the keyName parameter are not specified) a dictionary
with all available statistical data.
If the statistical data for the specified key does not exist, an empty string is returned.
To use this command, the user should have the Domain Administration right for the target Account Domain.
All users can retrieve the Account statistics data for their own accounts.
- RESETACCOUNTSTAT accountName [ KEY keyName ]
- Use this command to reset statistics data about the specified Account.
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- keyName : string
- This optional parameter specifies the name of the statistical entry to reset.
If the KEY keyword and the keyName parameter are not specified, all Account statistical entries are reset.
To use this command, the user should have the "Basic Settings" Domain Administration right for the target Account Domain.
The following Account statistics data keys are implemented:
Key Name | | Value |
StatReset | | The date & time when the last parameterless RESETACCOUNTSTAT command was sent to this Account |
MessagesReceived | | The total number of messages delivered to the Account |
BytesReceived | | The total size of all messages delivered to the Account |
|
- GETDOMAINSTAT domainName [ KEY keyName ]
- Use this command to retrieve statistics data about the specified Domain.
- domainName : string
- This parameter specifies the name of an existing Domain. The asterisk (*) symbol can be used to specify the
Domain of the current authenticated Account.
- keyName : string
- This optional parameter specifies the name of the statistical entry to retrieve.
This command produces an output - a string with the specified statistical information,
or (if the KEY keyword and the keyName parameter are not specified) a dictionary
with all available statistical data.
To use this command, the user should have the Domain Administration right for the target Domain.
- RESETDOMAINSTAT domainName [ KEY keyName ]
- Use this command to reset statistics data about the specified Domain.
- domainName : string
- This parameter specifies the name of an existing Domain. The asterisk (*) symbol can be used to specify the
Domain of the current authenticated Account.
- keyName : string
- This optional parameter specifies the name of the statistical entry to reset.
If the KEY keyword and the keyName parameter are not specified, all Domain statistical entries are reset.
To use this command, the user should have the "Basic Settings" Domain Administration right for the target Domain.
The following Domain statistics data keys are implemented:
Key Name | | Value |
StatReset | | The date & time when the last parameterless RESETDOMAINSTAT command was sent to this Domains |
MessagesReceived | | The total number of messages delivered to the Domain |
BytesReceived | | The total size of all messages delivered to the Domain |
|
Miscellaneous Commands
- WRITELOG logLevel logRecord
- Use this command to store a record into the Server Log.
- logLevel : number
- This parameter specifies the record log level.
- logRecord : string
- This parameter specifies the string to be placed into the Server Log.
Log records generated with this command have the SYSTEM prefix.
To use this command, the user should have the "Can Monitor" Server Administration right.
- RELEASESMTPQUEUE queueName
- Use this command to release an SMTP queue.
- queueName : string
- This parameter specifies the queue (domain) name to release.
In a Dynamic Cluster environment, this command releases the specified SMTP queue on all servers.
To use this command, the user should have the "Can Monitor" Server Administration right.
- REJECTQUEUEMESSAGE messageID [errorText]
- Use this command to reject a message from the Server Queue.
- messageID : number
- This parameter specifies the message ID.
- errorText : string
- This optional parameter specifies the text to be included into the error report (bounce) sent to the
message sender. If this parameter is NONDN, no DSN report message is generated.
To use this command, the user should have the "Can Reject Queues" Server Administration right.
- GETCURRENTCONTROLLER
- Use this command to get the IP address of the current Dynamic Cluster Controller.
This command produces an output - a string with the Cluster Controller IP Address.
To use this command, the user should have the "Can Monitor" Server Administration right.
- GETTEMPCLIENTIPS
- Use this command to retrieve the set of temporary Client IP Addresses. The command produces an output -
a string with Temporary Client IP addresses separated with the comma (,) symbols.
To use this command, the user should have the "Can Monitor" Server Administration right.
- GETTEMPBLACKLISTEDIPS
- Use this command to retrieve the set of Temporary Blacklisted IP Addresses. The command produces an output -
a string with Temporary Blacklisted IP addresses separated with the comma (,) symbols.
Each IP address may have a -nnnn suffix, where nnnn is either
the number of seconds this address will remain blacklisted for,
or the * symbol indicating permanent address blacklisting.
To use this command, the user should have the "Can Monitor" Server Administration right.
- SETTEMPBLACKLISTEDIPS addresses
- Use this command to add addresses to the Temporary Blacklisted IP Addresses list.
- addresses : number
- A string with a list of IP addresses, using the output format of the GetTempBlacklistedIPs command.
To use this command, the user should have the "Server Settings" Server Administration right.
- REMOVEACCOUNTSUBSET accountName SUBSET subsetName
- Use this command to remove an Account "dataset" (such as the RepliedAddresses dataset).
- accountName : string
- This parameter specifies the name of an existing Account. The asterisk (*) symbol can be used to specify the
current authenticated Account.
- subsetName : string
- This parameter specifies the name of an existing data subset in the specified Account.
To use this command on other user subsets, the user should have the Domain Administration right.
CommuniGate® Pro Guide. Copyright © 1998-2007, Stalker Software, Inc.