Live Chat

The Axigen CLI Service - Admin Manual

From Axigen Wiki

Jump to: navigation, search

Overview

The Command Line Interface (in short CLI) is an interface for configuring Axigen remotely. In order to do that, a socket will listen on a specified address for connections, thus the commands can be issued using common tools such as Telnet, Netcat, etc.

Using this service actions can be automated by using local provisioning tools or scripts. For example you can use the PHP CLI API or the scripts available on the Axigen website in the Downloads - Tools section.


Service description

CLI is for Axigen another service, more precisely a TCP service, just like SMTP, IMAP, POP3, etc. The CLI service can be configured in its turn similarly to the other services, either by editing the configuration files or by using the remote configuration tools like CLI and WebAdmin. It has common parameters such as maxErrors, logLevel, etc. and also a list of listeners for configuring incoming connections.

The connection to the service must be authenticated using either the top administrator "admin" username and the password previously set for it, or another delegated administrative user.

CLI is structured in contexts, each of them including a specific set of commands. CLI also uses a common set of commands. Each context provides commands allowing switching to the previous and next context and a HELP command to view the available commands at that specific location. When connected, the login context is activated and an username and password must be provided; after activation, the root context becomes active. The root context is the only one not having a name in the command prompt.

Commands are not case sensitive, meaning that you can enter HELP, help, Help, HeLP, it will still mean HELP. Also, when you need to assign values to parameters of certain commands, these values can be entered in 3 ways:

  1. escaped;
  2. quoted;
  3. double quoted.

This is useful when entering regular expressions and spaces and is very similar to the way the strings are entered in unix bash:

  1. escaped string: in this form, the string cannot contain not printable characters, and the characters that must be escaped with a backslash are: spaces, quotes and double-quotes.
  2. quoted string: (e.g.: "something") in this form, the string will preserve the literal value of each character within the quotes. A single quote may not occur between single quotes, even when preceded by a backslash.
  3. double quoted string: (e.g. "something"): in this form, the string will behave just like in the escaped form, ignoring the backslash before any character. The difference is that all the characters, including non-printables, are accepted and that the spaces and single quotes need not be escaped.

In the escaped and double-quoted form, the backslash character must be escaped in order to have a backslash as a result.

The CLI parent / child contexts follow the structure of the configuration file where some objects are children of other parent objects. In general, a context that uses COMMIT for saving changes is considered a parent and a context that uses DONE for saving changes is considered a child. In the same time COMMIT is usually applying final and persistent changes (stored on the disk) and DONE is usually applying only transient session-specific changes.

Contexts are, with a few exceptions, associated with configuration objects that appear in the config file.

The notion of key parameter-value pair is related to the primary key concept. It uniquely identifies an object in a list of objects. The key value cannot be changed if the context was created using an ADD command.

The configuration contexts corresponding config objects (like server, all services, etc.) update only when entering and leaving the respective context and when one of the reset commands is issued. Thus, if anything is changed using another version of CLI or WebAdmin, the change will be present only when leaving and entering the context again or after a reset command is issued.

When leaving the context using COMMIT and the commit fails, update of the context is NOT performed. This happens because any modifications made before commit would be lost. As a result, invalid settings may appear to exist in config.

If you want to reset the configuration for that context, issue a CANCEL or a RESET command.

Any changes made to a TCP service like: CLI, WebMail, WebAdmin, etc. affect only new connections to that service and not the active ones.

The subsections of this chapter contain the following:

  • Common commands - commands used in all Axigen contexts;
  • Context Specific Commands - a list of all contexts and commands available in CLI you can use for reference to see all the different operations you can perform using CLI;
  • Special Contexts - the most important contexts in CLI are explained.
Documentation-note.png Note: Within all CLI contexts and commands, the term "Script Filters" refers to Message rules, "Socket Filters" refers to AntiVirus/AntiSpam Filters, while "SMTP Filters" generically defines Message Acceptance, Processing and Relay Policies.

When a filter is created, it is not automatically activated. Each filter can be active or inactive. Inactive filters are not used by the server until activation. The activation of a filter can be performed by adding the filter to the "Active Filter" list. All filters listed there are active and used by the server.


Using CLI

To connect to Axigen command line interface (CLI), after installing Axigen with its default settings, please enter in your terminal:

telnet 127.0.0.1 7000

In order to be able to connect to Axigen CLI, you should enable the CLI listener and connect to the correct IP:port address. You can verify the CLI listeners using the CLI -> Listeners page in WebAdmin.

You should see a welcome message similar to the one below:

Connected to <hostname> (127.0.0.1).
Escape character is '^]'.
Welcome to Axigen's Command Line Interface

You must login first. For a list of available commands, type HELP

<login>

Even now you can type HELP for a list of the available commands:

<login> help

The commands available for the Login context are:

  • HELP - prints this help message
  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • USER <user> - CLI username
  • GET VERSION - gets the Axigen version
  • SET CONSOLE-CODES on - sets the color and other console codes on/off
  • SET QUIET off - enables/disables detailed information
  • SHOW - shows the options for this context
+OK: command successful

You can login using the administrator account:

<login> user admin
<password> admin_password_which_will_be_showed_in_clear_text

For a list of available commands, type HELP

+OK: Authentication successful <#> 

To create a new domain you can first type HELP to check the syntax of the CREATE Domain command:

<#> help
<...>
CREATE Domain name <name> domainLocation <path> postmasterPassword <pass> - creates a domain (changes context)
<...>

For example, to create a domain named "example.org" in the default location for the domains for a Linux platform and with the postmaster password "secret_password" you can issue the following command:

<#> create domain name example.org domainlocation /var/opt/axigen/domains/example.org postmasterpassword secret_password
+OK: command successful

The above command will also change the context and to finish creating the domain use the COMMIT command:

<domain-create#> commit
committing changes and switching back to previous context.

This operation might take some time. Please wait....
+OK: command successful

Create a new user, "user1" with password "secret" in domain example.org using the following commands:

<#> update domain name example.org
+OK: command successful
<domain#> add account name user1 password secret
+OK: command successful

and save changes using COMMIT:

<domain-account#> commit
committing changes and switching back to previous context.

This operation might take some time. Please wait....
+OK: command successful

By default new users inherit settings from the domain level. Using Account Classes you can set a group of users to inherit settings from the account class instead of the domain. Supposing that you have an account class named "privileged" and you want user1 to inherit settings from this account class the following commands can be issued:

<domain#> update account user1
+OK: command successful
<domain-account#> INHERIT SETTINGS FROM accountClass privileged
+OK: command successful
<domain-account#> commit
committing changes and switching back to previous context.

This operation might take some time. Please wait....
+OK: command successful

Although using the WebAdmin interface is the most simplest way to add a server, domain or user filter there are some cases when you need to add a filter using the CLI interface. In the next example we shall add a filter at the domain level for example.org:

<#> update domain example.org
+OK: command successful
<domain#> config filters
+OK: command successful

If you want to add a script filter at the domain level you should issue the following commands:

<#> update domain example.org
+OK: command successful
<domain#> config filters
+OK: command successful
<domain-filters#> ADD ScriptFilter name filtername file filtername.sieve
+OK: command successful
<domain-filters-script#> done
saving changes (if applicable) and switching back to previous context.
+OK: command successful

The "file" parameter should be the relative path.

You can now view the new defined filter using the LIST filters command.

Edit the filter and define the rules:

<domain-filters#> update scriptfilter filtername
+OK: command successful
<domain-filters-script#> upload filter
+OK: Please enter data (terminated with <CRLF>.<CRLF>)

Bellow you should edit manually the filter. Filters use the SIEVE language described in the following RFC: http://www.ietf.org/rfc/rfc3028.txt

For example to move all incoming messages with a Subject that contains "viagra" you can add the following:

require ["fileinto", "envelope", "copy", "forward", "vacation", "tagsubject", "body", "relational", "axidate", "addressbook", 
"restoremessage", "feature"];

 ##Filter id=1 name="1" enabled=1
 
 if anyof (
        header :contains  ["Subject"] ["viagra"]
 ) {
        fileinto  "Spam";
        stop;
 }
 <CRLF>
 . 
 +OK: command successful

Save the rule:

<domain-filters-script#> done
saving changes (if applicable) and switching back to previous context.
+OK: command successful

and activate the filter:

<domain-filters#> add activefilter priority 197 filtername filtername filtertype script
+OK: command successful
<domain-filters-active#> done
saving changes (if applicable) and switching back to previous context.
+OK: command successful

The priority of filters is as follows:

  • Server level: MIN 0 - MAX 500;
  • Domain level: MIN 100 - MAX 400;
  • Account level: MIN 200 - MAX 300.

When logging to the CLI interface you can see the resemblance to the WebAdmin interface if you type HELP:

  • CONFIG SERVER - enters the Server context where you can modify server specific configuration
  • ENTER QUEUE - to manage the Axigen Queue
  • ENTER AACL - to manage the right of the server administrators

The other commands refer to domain specific administration.


Common Commands

The following commands are common to a subset of contexts: HELP, QUIT/EXIT, CANCEL, BACK, COMMIT/DONE, SHOW, LIST, SET, ADD, REMOVE, UPDATE, CONFIG, RESET.

Some of the commands described below apply only to a set of contexts, others apply to all contexts, and others have different flavors according to certain contexts. Below are listed only the common and most important commands used in CLI, but other commands are also available.

  • EXIT/QUIT - this command exits CLI. It is available from all contexts
  • HELP - the help command is present in all contexts, including Login and is used for displaying a list of available commands in that context
  • BACK - this command, cancels any changes (where it applies) and switches back to the previous context. This is available from every context except Login and Root.
  • COMMIT - this command saves the changes and also writes these changes to the server configuration. This also includes the changes done in child contexts and saved with DONE. A switch back to the previous context is also done.
  • DONE - this command saves the changes for a child context and switches back to the previous context but does not write anything to the server's configuration.
  • SHOW - the SHOW command has two flavors, one without parameters, and in this case, the value parameters (that means not the children or child lists) are shown, and one with parameters, in this case, the value parameters of a child from a child list are shown. In both cases, there is an optional ATTR parameter which, if present, will only show the specified attribute.
  • LIST - this command lists the members of a given child list in the form of a table. If the list has a separate context, some parameters are put in the table, otherwise all value parameters are present.
  • SET - the SET command sets a value for a specified value parameter of the given object associated with the context (if there is one). To the SET command, one or several parameter-value pair can be given.
  • ESET - the ESET command (Extended SET) enters a new context in which large amounts of data can be entered. The context can be left with <empty line> <.> <empty line>, the same as in the case of the SMTP protocol. This command is useful for parameters that require large amounts of text.
  • ADD - This command has several flavors. The simplest one is for adding values to a value list. In this case, the parameter is the name of the value list and a value (for instance ADD nameserver ip). Another form is used to add objects to list of objects. This form has three versions: one that takes the list and the key parameter-value pair of the object and changes the context; another that is the same except it takes additional required parameter-value pairs; and one that takes the key param-value pair and other optional pairs and doesn't change context but directly adds the object to the list.
  • UPDATE - This command changes an object from a list of objects. It is similar to add, except it does not apply to value lists.
  • REMOVE - This usually takes as parameters the list name, and key param-value pair for object lists, and list name and value for value lists and as the name suggests, removes an object from a list. It does not change the context.
  • CONFIG - The config command changes the context for configuring a child object. A child object is different form a list by the fact that it is a single object and it exists permanently. A list may have one, none or several objects.
  • RESET - The RESET command will update the context to the active one on the server. This also means that any changes made to that part of the context will be lost. The reset command, depending on the parameter, will reset the value attributes, or a list of objects or values.
  • ENTER - This command, changes a context, entering a sub-context. This usually applies to contexts unrelated to the object-child object configuration hierarchy.

The action of each command may differ in specific contexts that represent exceptions to the general behavior. As said before, some contexts have additional commands that have an exceptional character.

Context Specific Commands

This section lists all CLI contexts and their specific commands, as displayed in the Command Line Interface. You may use this list as reference to find out what operations you can perform using CLI.

Documentation-note.png Note:
  • All time attributes (timeouts and time intervals) are specified in seconds.
  • All data sizes are specified in KB.


Login context

The commands available for the Login context are:

  • HELP - prints this help message
  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • USER <user> - CLI username
  • GET VERSION - gets the Axigen version
  • SET CONSOLE-CODES on - sets the color and other console codes on/off
  • SET QUIET off - enables/disables detailed information
  • SHOW [<attrName>] - shows the options for this context


Root context

The commands available for the Root context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • LIST Domains [<wildcard> (ex: domain*)] - lists the active domains of this server
  • LIST AllDomains [<wildcard> (ex: domain*)] - lists all the domains (active and inactive) of this server
  • LIST domainActivationRequests - lists the requests made for domain registration
  • CLEAR domainActivationRequests - clears the list of requests not pending
  • SAVE CONFIG [<path>] - saves the server's running configuration (a suffix will be added)
  • CONFIG SERVER - enters the Server context
  • SET admin-password <password> - sets the admin password (max. 32 chars) (OBSOLETE - kept for backward compatibility)
  • CHANGE password oldPassword <pass> newPassword <pass> - changes your password (max. 32 chars)
  • ENTER QUEUE - enters the Queue context
  • ENTER AACL - enters the Administrative ACL context
  • CREATE Domain name <name> domainLocation <path> postmasterPassword <pass> - creates a domain (changes context)
  • CREATE Subdomain prefix <name> parentDomain <name> postmasterPassword <pass> - creates a subdomain (changes context)
  • ENABLE Domain domainLocation <path> - activates a domain to the server using the location parameter
  • ENABLE Domain name <name> - activates a domain to the server using the name parameter
  • DISABLE Domain name <name> - deactivates a domain from the server
  • EDIT Domain domainLocation <path> - edits a domain from the server using the location parameter (changes context)
  • EDIT Domain name <name> - edits a domain from the server using the name parameter (changes context)
  • DELETE Domain domainLocation <path> [dontKeepCopy] - deletes a domain from the server using the location parameter
  • DELETE Domain name <name> [dontKeepCopy] - deletes a domain from the server using the name parameter
  • UPDATE Domain name <domainName> - updates a domain from the server (changes context)
  • SHOW Domain name <domainName> [ATTR <param>] - shows the given domain
  • SEARCH Object <objectName>[@<domainName>] - searches for an object by name, displaying identity information in case it is found


Server context

The commands available for the Server context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • COMMIT - commits the changes made in this context
  • SHOW [ATTR <param>] - shows information about this context
  • SAVE Config [<path>] - saves the server's running configuration (a suffix will be added)
  • SHOW Config - shows the entire server's running configuration
  • SET [services (list of services)] - sets the services for the server
  • SET [primaryDomain <name>] - sets the server's primary domain
  • SET [sslRandomFile <file>] - sets file for entropy data used when generating random
  • SET [enableIOSynchronization <yes - enables/disables the I/O synchronization for file storages
  • SET [defaultTimezone <timezone>] - sets the default timezone
  • SET [defaultLanguage <lang>] - sets the default language
  • SET [serverName <name>] - sets the server name
  • SET [maxIndexingThreads <no.>] - sets the maximum number of threads for the search indexing service
  • LIST Usermaps - shows the list of usermaps
  • RESET - resets the service to the currently active configuration
  • CONFIG LOG - enters the Log context
  • CONFIG CLI - enters the CLI context
  • CONFIG RPOP - enters the RPOP context
  • CONFIG SMTP-INCOMING - enters the SMTP-Incoming context
  • CONFIG SMTP-OUTGOING - enters the SMTP-Outgoing context
  • CONFIG PROCESSING - enters the Processing context
  • CONFIG POP3 - enters the POP3 context
  • CONFIG IMAP - enters the IMAP context
  • CONFIG WEBMAIL - enters the WebMail context
  • CONFIG WEBADMIN - enters the WebAdmin context
  • CONFIG FTP-BACKUP - enters the FTP-Backup context
  • CONFIG DNR - enters the DNR context
  • CONFIG REPORT - enters the Report context
  • CONFIG POP3-Proxy - enters the POP3 Proxy context
  • CONFIG IMAP-Proxy - enters the IMAP Proxy context
  • CONFIG WEBMAIL-Proxy - enters the WebMail Proxy context
  • CONFIG USERDB - enters the User Database context
  • CONFIG PERMISSIONS - enters the Permissions context
  • CONFIG FILTERS - enters the Filters context
  • CONFIG MOBILITY - enters the Mobility context
  • ADD Usermap [name] <name> - adds an Usermap to the service (changes context)
  • UPDATE Usermap [name] <name> - updates an Usermap from the service (changes context)
  • REMOVE Usermap [name] <name> - removes an Usermap from the service
  • SHOW Usermap [name] <name> [ATTR <param>] - shows the given Usermap


CLI context

The commands available for the CLI context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • COMMIT - commits the changes made in this context
  • SHOW [ATTR <param>] - shows information about this context
  • SAVE Config - saves the server's running configuration
  • LIST Listeners - lists available listeners
  • START Service - starts the CLI service
  • STOP Service - stops the CLI service
  • SET [maxErrors <maxErrors>] - sets the max no. of wrong commands
  • SET [maxAuthErrors <maxErrors>] - sets the max no. of failed authentications
  • SET [maxAuthCommands <maxCmds>] - sets the max no. of commands that can be issued before authentication
  • SET [maxConnThreads <maxThreads>] - sets the max no. of threads handling the conn.
  • SET [minConnThreads <minThreads>] - sets the min no. of threads handling the conn.
  • SET [logLevel <level>] - sets the service's logging level
  • SET [logType <type>] - sets the service's logging type
  • SET [logHost <host>] - sets the service's remote logging host
  • CONFIG AccessControl - enters the AccessControl context
  • RESET - resets the service to the currently active configuration
  • ADD Listener [address] <address> - adds a listener to the service (changes context)
  • UPDATE Listener [address] <address> - updates a listener from the service (changes context)
  • REMOVE Listener [address] <address> - removes a listener from the service
  • SHOW Listener [address] <address> [ATTR <param>] - shows the given listener


Listener context

The commands available for the Listener context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • COMMIT - commits the changes made in this context
  • SHOW [ATTR <param>] - shows information about this context
  • SET [address <address>] - sets the listener's address - only usable in an UPDATE operation
  • SET [enable <yes - enables/disables the listener


Listener context (as subcontext of proxy services)

The commands available for the POP3 Proxy context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • COMMIT - commits the changes made in this context
  • SHOW [ATTR <param>] - shows information about this context
  • SAVE Config - saves the server's running configuration
  • LIST Listeners - lists available listeners
  • START Service - starts the pop3 proxy service
  • STOP Service - stops the pop3 proxy service
  • SET [maxErrors <maxErrors>] - sets the max no. of wrong commands
  • SET [maxAuthErrors <maxErrors>] - sets the max no. of failed authentications
  • SET [maxConnThreads <maxThreads>] - sets the max no. of threads handling the conn.
  • SET [minConnThreads <minThreads>] - sets the min no. of threads handling the conn.
  • SET [logLevel <level>] - sets the service's logging level
  • SET [logType <type>] - sets the service's logging type
  • SET [logHost <host>] - sets the service's remote logging host
  • SET [allowStartTLS <yes - allows/does not allow secure connections (STLS command)
  • SET [userdbConnectorType <type>] - sets the type of the userdb connector
  • SET [userdbConnectorName <name>] - sets the name of the userdb connector
  • SET [authenticateOnProxy <yes - specifies if user authentication should be done also on proxy
  • SET [greetingsText <text>] - sets the greeting text for this service
  • RESET - resets the service to the currently active configuration
  • CONFIG AccessControl - enters the AccessControl context
  • CONFIG connectionData - enters the connection data context
  • CONFIG mappingData - enters the mapping data context
  • ADD Listener [address] <address> - adds a listener to the service (changes context)
  • UPDATE Listener [address] <address> - updates a listener from the service (changes context)
  • REMOVE Listener [address] <address> - removes a listener from the service
  • SHOW Listener [address] <address> [ATTR <name>] - shows the given listener


Listener context (as subcontext of non-proxy services)

The commands available for the Listener context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • COMMIT - commits the changes made in this context
  • SHOW [ATTR <param>] - shows information about this context
  • LIST AllowRules - lists the allow rules for this listener
  • LIST DenyRules - lists the deny rules for this listener
  • SET [address <address>] - sets the listener's address - only usable in an UPDATE operation
  • SET [enable <yes - enables/disables the listener
  • SET [maxConnections <maxConn>] - sets the max. number of connections
  • SET [timeInterval <interval>] - sets the time interval
  • SET [maxIntervalConnections <interval>] - sets the max. connections in time interval
  • SET [peerMaxConnections <maxConn>] - sets the max. connections no. from a single host
  • SET [peerTimeInterval <interval>] - sets the time interval - single host
  • SET [peerMaxIntervalConnections <interval>] - sets the max. connections in time interval - single host
  • SET [idleTimeout <timeout>] - sets the inactivity timeout
  • SET [sslEnable <yes - enables/disables SSL on the listener
  • CONFIG SSLCONTROL - enters the SslControl context
  • ADD DenyRule [ipSet] <ipRange> [enable <yes - adds a deny rule to the listener
  • UPDATE DenyRule [ipSet] <ipRange> [enable <yes - updates a deny rule from the listener
  • REMOVE DenyRule [ipSet] <ipRange> - removes a deny rule from the listener
  • SHOW DenyRule [ipSet] <ipRange> - shows the given rule
  • ADD AllowRule [ipSet] <ipRange> - adds an allow rule to the listener(changes context)
  • UPDATE AllowRule [ipSet] <ipRange> - updates an allow rule from the listener(changes context)
  • REMOVE AllowRule [ipSet] <ipRange> - removes an allow rule from the listener
  • SHOW AllowRule [ipSet] <ipRange> - shows the given rule


Allow rule context

The commands available for the AllowRule context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • DONE - saves the changes and switches back to previous context
  • SHOW [ATTR <param>] - shows information about this context
  • SET [ipSet <ipSet>] - sets the ipSet parameter - only usable in an UPDATE operation
  • SET [enable <yes - enables/disables the rule
  • SET [priority <priority>] - sets the rule's priority
  • SET [maxConnections <maxConn>] - sets the max. number of connections
  • SET [timeInterval <interval>] - sets the time interval
  • SET [maxIntervalConnections <interval>] - sets the max. connections in time interval
  • SET [peerMaxConnections <maxConn>] - sets the max. connections no. from a single host
  • SET [peerTimeInterval <interval>] - sets the time interval - single host
  • SET [peerMaxIntervalConnections <interval>] - sets max connections in time interval - single host


SSL control context

The commands available for the SSLControl context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • DONE - saves the changes and switches back to previous context
  • SHOW [ATTR <param>] - shows information about this context
  • SET [allowedVersions (version list)] - sets SSL versions allowed
  • SET [maxChainDepth <maxDepth>] - sets the max. depth of verification
  • SET [cipherSuite <cipher>] - sets the cipher suite to be used
  • SET [useEphemeralKey <yes - uses/does not use ephemeral keys
  • SET [certFile <file>] - sets path for certification chain file
  • SET [caFile <file>] - sets path for certificate authorities file
  • SET [dhParamFile <file>] - sets path to Diffie-Hellman param file
  • SET [requestClientAuth <yes - requests/does not request client authentication


Log context

The commands available for the Log context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • COMMIT - commits the changes made in this context
  • SHOW [ATTR <param>] - shows information about this context
  • SAVE Config - saves the server's running configuration
  • LIST Listeners - lists available listeners
  • LIST Rules - lists rules
  • START Service - starts the log service
  • STOP Service - stops the log service
  • SET [logLevel <level>] - sets the service's logging level
  • SET [logType <type>] - sets the service's logging type
  • SET [logHost <host>] - sets the service's remote logging host
  • RESET - resets the service to the currently active configuration
  • ADD Listener [address] <address> - adds a listener to the service (changes context)
  • UPDATE Listener [address] <address> - updates a listener from the service (changes context)
  • REMOVE Listener [address] <address> - removes a listener from the service
  • SHOW Listener [address] <address> [ATTR <param>] - shows the given listener
  • ADD Rule [priority] <priority> - adds a rule (changes context)
  • UPDATE Rule [priority] <priority> - updates a rule (changes context)
  • REMOVE Rule [priority] <priority> - removes a rule
  • SHOW Rule [priority] <priority> [ATTR <param>] - shows the given rule


Rule context

The commands available for the Rule context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • DONE - saves the changes and switches back to previous context
  • SHOW [ATTR <param>] - shows information about this context
  • SET [priority <priority>] - sets the rule's priority - only usable in an UPDATE operation
  • SET [hostname <hostname>] - sets hostname of the user of this rule
  • SET [module <module>] - sets module of the user of this rule.

valid names: DNR USERDB LOG REPORTING PROCESSING SMTP-IN SMTP-OUT CLI POP3 IMAP WEBMAIL WEBADMIN FTP-BACKUP RPOP PROXY_POP3 PROXY_IMAP PROXY_WEBMAIL *=ALL

  • SET [logLevel <level>] - sets the log level
  • SET [fileName <name>] - sets the name of the destination file
  • SET [fileSize <size>] - sets the maximum size of the destination file in KB
  • SET [fileTime <time>] - sets the maximum duration the destination file is used in seconds
  • SET [fileCount <count>] - sets the maximum number of old (saved) files kept
  • SET [rotatePeriod <period>] - sets the period after which a file change is forced (choice: none | day | week | month)
  • SET [type <type>] - sets the type of the rule (choice: local | remote)


SMTP-Incoming context

The commands available for the SMTP-Incoming context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • COMMIT - commits the changes made in this context
  • SHOW [ATTR <param>] - shows information about this context
  • SAVE Config - saves the server's running configuration
  • LIST Listeners - lists available listeners
  • START Service - starts the smtp incoming service
  • STOP Service - stops the smtp incoming service
  • SET [maxErrors <maxErrors>] - sets the max no. of wrong commands
  • SET [maxAuthErrors <maxErrors>] - sets the max no. of failed authentications
  • SET [maxConnThreads <maxThreads>] - sets the max no. of threads handling the conn.
  • SET [minConnThreads <minThreads>] - sets the min no. of threads handling the conn.
  • SET [logLevel <level>] - sets the service's logging level
  • SET [logType <type>] - sets the service's logging type
  • SET [logHost <host>] - sets the service's remote logging host
  • SET [maxReceivedHeaders <maxHeaders>] - sets max no. of received headers for a mail
  • SET [userdbConnectorType <type>] - sets the type of the userdb connector
  • SET [userdbConnectorName <name>] - sets the name of the userdb connector
  • SET [enableSmtpRouting <yes - allows this service to become a routing smtp service
  • RESET - resets the service to the currently active configuration
  • CONFIG mappingData - enters the mapping data context
  • CONFIG AccessControl - enters the AccessControl context
  • ADD Listener [address] <address> - adds a listener to the service (changes context)
  • UPDATE Listener [address] <address> - updates a listener from the service (changes context)
  • REMOVE Listener [address] <address> - removes a listener from the service
  • SHOW Listener [address] <address> [ATTR <param>] - shows the given listener


SMTP-Outgoing context

The commands available for the SMTP-Outgoing context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • COMMIT - commits the changes made in this context
  • SHOW [ATTR <param>] - shows information about this context
  • SAVE Config - saves the server's running configuration
  • START Service - starts the smtp outgoing service
  • STOP Service - stops the smtp outgoing service
  • SET [maxConnThreads <maxThreads>] - sets the max. no. of threads handling the conn.
  • SET [minConnThreads <minThreads>] - sets the min. no. of threads handling the conn.
  • SET [logLevel <level>] - sets the service's logging level
  • SET [logType <type>] - sets the service's logging type
  • SET [logHost <host>] - sets the service's remote logging host
  • RESET - resets the service to the currently active configuration


Processing context

The commands available for the Processing context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • COMMIT - commits the changes made in this context
  • SHOW [ATTR <param>] - shows information about this context
  • SAVE Config - saves the server's running configuration
  • START Service - starts the processing service
  • STOP Service - stops the processing service
  • SET [maxSchedInterval <maxInterval>] - sets the max. interval for rescheduling a mail
  • SET [schedInterval <interval>] - sets the interval for rescheduling queue checking
  • SET [maxRetryCount <count>] - sets the max. no. of times for trying to deliver
  • SET [queuePath <path>] - sets the path to internal server queue
  • SET [queueEntryCount <count>] - sets the upper limit for no. of sub-directories in queue
  • SET [deliveryThreads <threads>] - sets the no. of threads handling SMTP delivery
  • SET [filteringThreads <threads>] - sets the no. of threads handling message filtering
  • SET [logLevel <level>] - sets the service's logging level
  • SET [logType <type>] - sets the service's logging type
  • SET [logHost <host>] - sets the service's remote logging host
  • SET [procQueueSize <size>] - sets the size of internal processing queue
  • SET [messagesPerSecond <no>] - sets the maximum number of messages a mail box can receive in one second
  • SET [disableInterval <no>] - sets the time interval a mail box will be disabled if messagesPerSecond limit is exceeded
  • SHOW Statistics - shows processing statistical information
  • RESET - resets the service to the currently active configuration


POP3 context

The commands available for the POP3 context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • COMMIT - commits the changes made in this context
  • SHOW [ATTR <param>] - shows information about this context
  • SAVE Config - saves the server's running configuration
  • LIST Listeners - lists available listeners
  • START Service - starts the pop3 service
  • STOP Service - stops the pop3 service
  • SET [maxErrors <maxErrors>] - sets the max. no. of wrong commands
  • SET [maxAuthErrors <maxErrors>] - sets the max. no. of failed authentications
  • SET [maxConnThreads <maxThreads>] - sets the max. no. of threads handling the conn.
  • SET [minConnThreads <minThreads>] - sets the min. no. of threads handling the conn.
  • SET [logLevel <level>] - sets the service's logging level
  • SET [logType <type>] - sets the service's logging type
  • SET [logHost <host>] - sets the service's remote logging host
  • SET [allowStartTLS <yes - allows/does not allow secure connections (STLS command)
  • SET [secureConnAuthTypes (types)] - sets types of authentication on secure conn.
  • SET [plainConnAuthTypes (types)] - sets types of authentication on plain conn.
  • SET [secureConnAllowLogin <yes - allows/does not allow plain text login on secure conn.
  • SET [plainConnAllowLogin <yes - allows/does not allow plain text login on plain conn.
  • SET [userdbConnectorType <type>] - sets the type of the userdb connector
  • SET [userdbConnectorName <name>] - sets the name of the userdb connector
  • SET [greetingsText <text>] - sets the greeting text for this service
  • CONFIG AccessControl - enters the AccessControl context
  • RESET - resets the service to the currently active configuration
  • ADD Listener [address] <address> - adds a listener to the service (changes context)
  • UPDATE Listener [address] <address> - updates a listener from the service (changes context)
  • REMOVE Listener [address] <address> - removes a listener from the service
  • SHOW Listener [address] <address> [ATTR <name>] - shows the given listener


IMAP context

The commands available for the IMAP context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • COMMIT - commits the changes made in this context
  • SHOW [ATTR <param>] - shows information about this context
  • SAVE Config - saves the server's running configuration
  • LIST Listeners - lists available listeners
  • START Service - starts the imap service
  • STOP Service - stops the imap service
  • SET [maxErrors <maxErrors>] - sets the max. no. of wrong commands
  • SET [maxAuthErrors <maxErrors>] - sets the max. no. of failed authentications
  • SET [maxConnThreads <maxThreads>] - sets the max. no. of threads handling the conn.
  • SET [minConnThreads <minThreads>] - sets the min. no. of threads handling the conn.
  • SET [logLevel <level>] - sets the service's logging level
  • SET [logType <type>] - sets the service's logging type
  • SET [logHost <host>] - sets the service's remote logging host
  • SET [allowStartTLS <yes - allows/does not allow secure connections
  • SET [secureConnAuthTypes (types)] - sets the types of authentication on secure conn.
  • SET [plainConnAuthTypes (types)] - sets the types of authentication on plain conn.
  • SET [secureConnAllowLogin <yes - allows/does not allow plain text login on secure conn.
  • SET [plainConnAllowLogin <yes - allows/does not allow plain text login on plain conn.
  • SET [userdbConnectorType <type>] - sets the type of the userdb connector
  • SET [userdbConnectorName <name>] - sets the name of the userdb connector
  • SET [greetingsText <text>] - sets the greeting text for this service
  • CONFIG AccessControl - enters the AccessControl context
  • RESET - resets the service to the currently active configuration
  • ADD Listener [address] <address> - adds a listener to the service (changes context)
  • UPDATE Listener [address] <address> - updates a listener from the service (changes context)
  • REMOVE Listener [address] <address> - removes a listener from the service
  • SHOW Listener [address] <address> [ATTR <param>] - shows the given listener


WebMail context

The commands available for the WebMail context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • COMMIT - commits the changes made in this context
  • SHOW [ATTR <param>] - shows information about this context
  • SAVE Config - saves the server's running configuration
  • LIST Listeners - lists available listeners
  • LIST UrlRedirects - lists the rules used for secure login
  • LIST HostNameResolvers - lists the hostname resolvers
  • START Service - starts the WebMail service
  • STOP Service - stops the WebMail service
  • SET [maxErrors <maxErrors>] - sets the max. no. of wrong commands
  • SET [maxAuthErrors <maxErrors>] - sets the max. no. of failed authentications
  • SET [maxConnThreads <maxThreads>] - sets the max. no. of threads handling the conn.
  • SET [minConnThreads <minThreads>] - sets the min. no. of threads handling the conn.
  • SET [logLevel <level>] - sets the service's logging level
  • SET [logType <type>] - sets the service's logging type
  • SET [logHost <host>] - sets the service's remote logging host
  • SET [path <path>] - sets the location of HSP files
  • SET [sessionIdleTimeout <timeout>] - sets the inactivity timeout
  • SET [sessionActivityTimeout <timeout>] - sets the maximum living time for a session
  • SET [allowKeepAlive <yes - enables/disables persistent connection
  • SET [allowLargeIncomingData <yes - enables/disables receiving incoming data after the limit is exceeded
  • SET [httpHeadersMaxSize <size>] - sets the maximum allowed size for received HTTP headers
  • SET [httpBodyMaxSize <size>] - sets the maximum allowed size for incoming HTTP body
  • SET [uploadMaxSize <size>] - sets the maximum allowed size for incoming upload data
  • SET [showDomainList <yes - enables/disables displaying domains list at user login
  • SET [userdbConnectorType <type>] - sets the type of the userdb connector
  • SET [userdbConnectorName <name>] - sets the name of the userdb connector
  • SET [enableMobileWebmail <yes - enables/disables mobile WebMail
  • SET [enableActiveSync <yes - enables/disables activeSync
  • SET [enableIcalCalendar <yes - enables/disables Calendar (ICS) access through iCal/HTTP
  • SET [enableIcalFreebusy <yes - enables/disables Free/Busy (IFB) access through iCal/HTTP
  • SET [userInterfaceType <ajaxDefault | ajaxOnly | standardDefault | standardOnly>]
  • CONFIG AccessControl - enters the AccessControl context
  • RESET - resets the service to the currently active configuration
  • ADD Listener [address] <address> - adds a listener to the service (changes context)
  • UPDATE Listener [address] <address> - updates a listener from the service (changes context)
  • REMOVE Listener [address] <address> - removes a listener from the service
  • SHOW Listener [address] <address> [ATTR <param>] - shows the given listener
  • ADD HostNameResolver [host] <host> domain <domain> - adds a host name (WebMail URL) to HSP template name mapping
  • UPDATE HostNameResolver [host] <host> domain <domain> - updates a host name (WebMail URL) to HSP template name mapping
  • REMOVE HostNameResolver [host] <host> - removes a host name (WebMail URL) to HSP template name mapping - The domain parameter refers to the HSP template directory
  • ADD UrlRedirect [address] <address> port <port> host <host>
  • UPDATE UrlRedirect [address] <address> [port <port>] [host <host>]
  • REMOVE UrlRedirect [address] <address>


WebAdmin context

The commands available for the WebAdmin context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • COMMIT - commits the changes made in this context
  • SHOW [ATTR <param>] - shows information about this context
  • SAVE Config - saves the server's running configuration
  • LIST Listeners - lists available listeners
  • LIST UrlRedirects - lists the rules used for secure login
  • START Service - starts the WebAdmin service
  • STOP Service - stops the WebAdmin service
  • SET [maxErrors <maxErrors>] - sets the max. no. of wrong commands
  • SET [maxAuthErrors <maxErrors>] - sets the max. no. of failed authentications
  • SET [maxConnThreads <maxThreads>] - sets the max. no. of threads handling the conn.
  • SET [minConnThreads <minThreads>] - sets the min. no. of threads handling the conn.
  • SET [logLevel <level>] - sets the service's logging level
  • SET [logType <type>] - sets the service's logging type
  • SET [logHost <host>] - sets the service's remote logging host
  • SET [path <path>] - sets the location of HSP files
  • SET [sessionIdleTimeout <timeout>] - sets the inactivity timeout
  • SET [sessionActivityTimeout <timeout>] - sets maximum living time for a session
  • SET [allowKeepAlive <yes|no>] - enables/disables persistent connection
  • SET [allowLargeIncomingData <yes|no>] - enables/disables receiving incoming data after the limit is exceeded
  • SET [httpHeadersMaxSize <size>] - sets the maximum allowed size for received HTTP headers
  • SET [httpBodyMaxSize <size>] - sets the maximum allowed size for incoming HTTP body
  • SET [uploadMaxSize <size>] - sets the maximum allowed size for incoming upload data
  • CONFIG AccessControl - enters the AccessControl context
  • RESET - resets the service to the currently active configuration
  • ADD Listener [address] <address> - adds a listener to the service (changes context)
  • UPDATE Listener [address] <address> - updates a listener from the service (changes context)
  • REMOVE Listener [address] <address> - removes a listener from the service
  • SHOW Listener [address] <address> [ATTR <param>] - shows the given listener
  • ADD UrlRedirect [address] <address> port <port> host <host>
  • UPDATE UrlRedirect [address] <address> [port <port>] [host <host>]
  • REMOVE UrlRedirect [address] <address>


FTP backup context

The commands available for the FTP-Backup context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • COMMIT - commits the changes made in this context
  • SHOW [ATTR <param>] - shows information about this context
  • SAVE Config - saves the server's running configuration
  • LIST Listeners - lists available listeners
  • START Service - starts the FTP backup service
  • STOP Service - stops the FTP backup service
  • SET [maxErrors <maxErrors>] - sets the max no. of wrong commands
  • SET [maxAuthErrors <maxErrors>] - sets the max. no. of failed authentications
  • SET [maxConnThreads <maxThreads>] - sets the max. no. of threads handling the conn.
  • SET [minConnThreads <minThreads>] - sets the min. no. of threads handling the conn.
  • SET [logLevel <level>] - sets the service's logging level
  • SET [logType <type>] - sets the service's logging type
  • SET [logHost <host>] - sets the service's remote logging host
  • SET [messagesTarEnabled <yes - enables/disables tar archive on messages
  • CONFIG AccessControl - enters the AccessControl context
  • RESET - resets the service to the currently active configuration
  • ADD Listener [address] <address> - adds a listener to the service (changes context)
  • UPDATE Listener [address] <address> - updates a listener from the service (changes context)
  • REMOVE Listener [address] <address> - removes a listener from the service
  • SHOW Listener [address] <address> [ATTR <param>] - shows the given listener
  • FILESYSTEM mount <mountPoint> domain <name>
  • FILESYSTEM mount <mountPoint> domain <name> publicFolder [<folderPath>]
  • FILESYSTEM mount <mountPoint> domain <name> object <name> [folder <folderPath>]
  • FILESYSTEM unmount <mountPoint>
  • FILESYSTEM status [<mountPoint>]


DNR context

The commands available for the DNR context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • COMMIT - commits the changes made in this context
  • SHOW [ATTR <param>] - shows information about this context
  • SAVE Config - saves the server's running configuration
  • LIST Nameservers - lists the nameservers
  • START Service - starts the dnr service
  • STOP Service - stops the dnr service
  • SET [timeout <timeout>] - sets the timeout
  • SET [retries <retries>] - sets the number of retries
  • SET [cacheSize <cacheSize>] - sets the cache size
  • SET [logLevel <level>] - sets the service's logging level
  • SET [logType <type>] - sets the service's logging type
  • SET [logHost <host>] - sets the service's remote logging host
  • RESET - resets the service to the currently active configuration
  • ADD Nameserver [priority] <priority> - adds a nameserver to the service (changes context)
  • UPDATE Nameserver [priority] <priority> - updates a nameserver from the service (changes context)
  • REMOVE Nameserver [priority] <priority> - removes a nameserver from the service
  • SHOW Nameserver [priority] <priority> [ATTR <param>] - shows the given nameserver


Name server context

The commands available for the NameServer context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • DONE - saves the changes and switches back to previous context
  • SHOW [ATTR <param>] - shows information about this context
  • SET [priority <priority>] - sets the priority of the nameserver
  • SET [address <address>] - sets the IP of the nameserver
  • SET [timeout <timeout>] - sets the timeout for first DNS query
  • SET [retries <retries>] - sets the maximum number of DNS queries retries


Report context

The commands available for the Report context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • COMMIT - commits the changes made in this context
  • SHOW [ATTR <param>] - shows information about this context
  • SAVE Config - saves the server's running configuration
  • LIST Listeners - lists available listeners
  • LIST SNMPTrapDestinations - lists available SNMP trap destinations
  • START Service - starts the report service
  • STOP Service - stops the report service
  • SET [logLevel <level>] - sets the service's logging level
  • SET [logType <type>] - sets the service's logging type
  • SET [logHost <host>] - sets the service's remote logging host
  • SET [SNMPEnable <yes - enables/disables the snmp module
  • SET [SNMPSentTrapsToAllManagers <yes|no>] - enables/disables sending traps to all managers (including managers not added from configuration)
  • SET [SNMPCommunity <string>] - sets the SNMP Community string
  • ADD Listener [address] <address> - adds a listener to the service (changes context)
  • UPDATE Listener [address] <address> - updates a listener from the service (changes context)
  • REMOVE Listener [address] <address> - removes a listener from the service
  • SHOW Listener [address] <address> [ATTR <param>] - shows the given listener
  • ADD SNMPTrapDestination <address> - adds a SNMP trap destination to the service
  • REMOVE SNMPTrapDestination <address> - removes a SNMP trap destination from the service
  • RESET - resets the service to the currently active configuration


Filters context (as subcontext of server|domain|folderRcpt|group|list)

The commands available for the Filters context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - switches back to the previous context
  • COMMIT - commits the changes made in this context
  • LIST ScriptFilters - lists the script filters defined
  • LIST SocketFilters - lists the socket filters defined
  • LIST ActiveFilters - lists the active filters
  • LIST Filters - lists all three categories of filters
  • ADD ScriptFilter [name] <name> file <file> - adds a script filter (changes context)
  • UPDATE ScriptFilter [name] <name> - updates a script filter (changes context)
  • REMOVE ScriptFilter [name] <name> - removes a script filter from the list
  • SHOW ScriptFilter [name] <name> [ATTR <param>] - shows the given script filter
  • ADD SocketFilter [name] <name> address <addr> protocolFile <file> - adds a socket filter (changes context)
  • UPDATE SocketFilter [name] <name> - updates a socket filter (changes context)
  • REMOVE SocketFilter [name] <name> - removes a socket filter from the list
  • SHOW SocketFilter [name] <name> [ATTR <param>] - shows the given socket filter
  • ADD ActiveFilter [priority] <no.> filterName <name> filterType <type> - adds an active filter to the active filter list (changes context)
  • UPDATE ActiveFilter [priority] <no.> - updates a filter (changes context)
  • REMOVE ActiveFilter [priority] <no.> - removes a filter from the active filter list
  • SHOW ActiveFilter [priority] <no.> [ATTR <param>] - shows the given filter


Filters context (as subcontext of account|accountClass)

The commands available for the Filters context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • DONE - saves the changes and switches back to previous context
  • SHOW [ATTR <param>] - shows information about this context
  • LIST ScriptFilters - lists the script filters defined
  • LIST ActiveFilters - lists the active filters
  • LIST Filters - lists all three categories of filters
  • ADD ScriptFilter [name] <name> file <file> - adds a script filter (changes context)
  • UPDATE ScriptFilter [name] <name> - updates a script filter (changes context)
  • REMOVE ScriptFilter [name] <name> - removes a script filter from the list
  • SHOW ScriptFilter [name] <name> [ATTR <param>] - shows the given script filter
  • ADD ActiveFilter [priority] <no.> filterName <name> filterType <type> - adds an active filter to the active filter list (changes context)
  • UPDATE ActiveFilter [priority] <no.> - updates a filter (changes context)
  • REMOVE ActiveFilter [priority] <no.> - removes a filter from the active filter list
  • SHOW ActiveFilter [priority] <no.> [ATTR <param>] - shows the given filter
  • RESET - Inherit filters


ScriptFilter context

The commands available for the ScriptFilter context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • DONE - saves the changes and switches back to previous context
  • SHOW [ATTR <param>] - shows information about this context
  • SET [name <name>] - sets the name of the filter - only usable in an UPDATE operation
  • SET [type <type>] - sets the type of the script filter
  • SET [file <path>] - sets the path to the file where the script is located (must be a relative path)
  • UPLOAD filter - uploads a sive filter to the location pointed by the "file" parameter


SocketFilter context

The commands available for the SocketFilter context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • DONE - saves the changes and switches back to previous context
  • SHOW [ATTR <param>] - shows information about this context
  • SET [name <name>] - sets the name of the filter - only usable in an UPDATE operation
  • SET [address <addr>] - sets the address of the filter, used to communicate with the filter
  • SET [protocolFile <path>] - sets the path to the ASFL file that describes the communication protocol
  • SET [idleTimeout <timeout>] - sets the inactivity timeout of the connection (in seconds)
  • SET [actionOnMatch <action>] - sets the action to be taken in case the filter matches an email
  • SET [maxConnections <no.>] - sets the maximum number of connections that will be made to the filter


ActiveFilter context

The commands available for the ActiveFilter context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • DONE - saves the changes and switches back to previous context
  • SHOW [ATTR <param>] - shows information about this context
  • SET [priority <priority>] - sets the priority of the filter - only usable in an UPDATE operation
  • SET [filterName <name>] - sets the name of the filter as defined in the socket/script object sets
  • SET [filterType <type>] - sets type of the filter (to which object set belongs)
  • SET [applyOn (local and/or relay)] - Specifies where this filter is activated (local, relay delivery or both)


Domain context

Documentation-note.png Note: When creating domains, one message storage location with the default 32GB size is recommended for each predicted 20GB of message occupied storage space. For larger spaces, additional message storage locations should be created or the default parameters modified in order to increase total average size for the location to correspond to the number of 20GB storages you need. It is recommended that the occupied space is 2/3 out of the storage location size.

You can add multiple message storage locations using CLI only within the domain creation context. After creating the domain, additional locations cannot be added. The command to create multiple message storage locations is the following:

ADD MessagesLocation <path>

The commands available for the Domain context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • COMMIT - commits the changes made in this context
  • SHOW [ATTR <param>] - shows information about this context
  • LIST Aliases - lists aliases for current domain
  • LIST Accounts [wildcard (ex: account*)] - lists accounts for current domain
  • LIST Groups [wildcard (ex: account*)] - lists groups for current domain
  • LIST FolderRcpts [wildcard (ex: account*)] - lists folder recipients for current domain
  • LIST Lists [wildcard (ex: account*)] - lists mail lists for current domain
  • LIST AccountClasses [wildcard (ex: account*)] - lists account classes for current domain
  • SHOW RegistryInformation - shows registry information
  • SHOW StorageInformation [details] - shows storage files information (with details per file if option present)
  • SHOW StorageStatistics [details][average] - shows total or average storage statistics (with details per file if option present)
  • SHOW DisposableMetadataInformation - shows information about the size occupied by disposable meta-data in the storage
  • PURGE disposableMetadata searchIndexes | sortIndexes | normalizedMessages
  • SET [name <name>] - sets the domain's name - only usable in an UPDATE operation
  • SET [assignedIp <ip>] - sets the assigned ip
  • SET [services (list of services)] - sets the services for this domain
  • SET [showWebmailLogin <yes|no>] - enables/disables displaying this domain at WebMail login
  • SET [createUsersFromLdap <yes|no>] - enables/disables auto-creation of users authenticated from LDAP
  • SET [publishRcptContacts <yes|no>] - switch indicating if domain recipients contacts are published
  • SET [enableAppender <yes|no>] - enables/disables the message appender
  • SET [catchAllType <type>] - sets the type of Catch-All behaviour
  • SET [catchAllAccountName <value>] - sets the name of the account used to store all messages with unknown recipient
  • SET [catchAllFolderName <value>] - sets the name of the folder used to store all messages with unknown recipient
  • SET [enableLDAPSync <yes - enables/disables LDAP-Axigen synchronization
  • SET [ldapSyncConnectorName <name>] - sets the name of the LDAP connector to use
  • SET [customerReference <string>] - sets the customer reference for use with external billing like systems
  • SET [defaultTimezone <timezone>] - sets the default timezone
  • SET [defaultLanguage <lang>] - sets the default language
  • SET [disposableMetadataQuotaThreshold <no.>] - sets the disposable meta-data quota threshold
  • ESET appenderText - this text will be appended to all messages sent from this domain
  • CONFIG MIGRATIONDATA - enters the migrationdata context
  • CONFIG FILTERS - enters the domain filters context
  • CONFIG adminLimits - enters the admin limits context
  • CONFIG accountDefaultFilters - enters the account default filters context
  • CONFIG accountDefaultLimits - enters the account default limits context
  • CONFIG accountDefaultQuotas - enters the account default quotas context
  • CONFIG accountDefaultSendRecvRestrictions - enters the account default send/recv restrictions context
  • CONFIG accountDefaultWebmailAdvertising - enters the account default WebMail advertising context
  • CONFIG PUBLIC-FOLDER - enters the Public Folders context
  • CONFIG PERMISSIONS - enters the Permissions context
  • ADD Account [name] <name> password <password> - adds an account to the domain (changes context)
  • UPDATE Account [name] <name> - updates an account from the domain (changes context)
  • REMOVE Account [name] <name> - removes an account from the domain
  • SHOW Account [name] <name> [ATTR <param>] - shows the given account
  • ADD Group [name] <name> - adds a group to the domain (changes context)
  • UPDATE Group [name] <name> - updates a group from the domain (changes context)
  • REMOVE Group [name] <name> - removes a group from the domain
  • SHOW Group [name] <name> [ATTR <param>] - shows the given group
  • ADD FolderRcpt [name] <name> - adds a folder recipient to the domain (changes context)
  • UPDATE FolderRcpt [name] <name> - updates a folder recipient from the domain (changes context)
  • REMOVE FolderRcpt [name] <name> - removes a folder recipient from the domain
  • SHOW FolderRcpt [name] <name> [ATTR <param>] - shows the given folder recipient
  • ADD List [name] <listName> password <password> adminEmail <email> - adds a list to this domain (changes context)
  • UPDATE List [name] <listName> - updates a list from this domain (changes context)
  • REMOVE List [name] <listName> - removes a list from this domain
  • SHOW List [name] <listName> [ATTR <param>] - shows the given list
  • ADD Alias <aliasName> - adds an alias for the domain
  • REMOVE Alias <aliasName> - removes an alias from the domain
  • ADD accountClass [name] <accountClassName> - adds an account class for the domain (changes context)
  • UPDATE accountClass [name] <accountClassName> - updates an account class from the domain (changes context)
  • REMOVE accountClass [name] <accountClassName> - removes an account class from the domain
  • MIGRATE - migrate command which has the following parameters:
    • account <accountName> - the account name for migration
    • remoteHost <host> - the host of the migration server
    • remotePort <port> - the port of the migration server
    • remoteUser <imap-user> - the imap username of the migration server
    • remotePass <imap-pass> - the imap password of the migration server
    • [ignoreFolders (folders)] - specifies a list of folders as displayed by LIST separated by spaces which will not be migrated
    • [overrideQuota <yes - specifies if the mailbox quota should be overridden (default: no)
    • [deleteOriginal <yes - enables/disables deletion of all migrated messages on the remote server (default: no)
    • [structureOnly <yes - enables migration of only the directory structure (default: no)
    • [verbose <yes - specifies if the command should be verbose (default: no)
Documentation-warning.png Warning: The MIGRATE command, when the parameter "overrideQuota" is set to its "no" default, will migrate mails until the mailbox Quota is reached. If overrideQuota is set to yes, all the mails will be migrated but the mailbox Quota could be exceeded, in which case, the account will no longer receive any more mails.
  • LIST Storages - lists all storages registered to Axigen
  • COMPACT All [forced] - compacts all storages registered to Axigen
  • COMPACT Storage usid <storage_usid> [forced] - compacts a storage from the list
  • ENABLE StorageStatistics - enables I/O statistics for all storages in domain
  • DISABLE StorageStatistics - disables I/O statistics for all storages in domain
  • UPGRADE Storage - upgrades storage representation of configuration data and folders to current version
  • REPAIR Accounts <accountName> [<accountName>...] - tries to recover lost accounts
  • SYNCCONTACTS - synchronizes Domain Contacts folder with domain's objects contact information
  • FINDINVALIDMSG <accountName> [<accountName>...] [purge] - lists and optionally removes faulty messages from specified accounts


Domain-Create context

The commands available for the Domain-Create context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • COMMIT - commits the changes made in this context
  • SHOW - shows information about this context
  • SET [name <name>] - sets the domain's name
  • SET [postmasterPassword <pass>] - sets the password to the postmaster account
  • SET [domainLocation <unitLocationURI>] - syntax: unitLocationURI = [file://]path[?maxFiles=<fileCount>&maxFileSize=<fileSize>]
  • SET [domainObjectsLocation <unitLocationURI>] - syntax: unitLocationURI = [file://]path[?maxFiles=<fileCount>&maxFileSize=<fileSize>]
  • SET [groupwareSupport <yes|no>] - enables/disables MACL support for this domain
  • ADD MessagesLocation <unitLocationURI> - syntax: unitLocationURI = [file://]path[?maxFiles=<fileCount>&maxFileSize=<fileSize>]
  • REMOVE MessagesLocation <path> - removes a messages storage location


Domain administration limits context

The commands available for the Domain Administration Limits context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • COMMIT - commits the changes made in this context
  • SHOW [ATTR <param>] - shows information about this context
  • SET [maxAccounts <no>] - (no description)
  • SET [maxMaillists <no>] - (no description)
  • SET [maxGroups <no>] - (no description)
  • SET [maxFolderRecipients <no>] - (no description)
  • SET [maxAccountClasses <no>] - (no description)
  • SET [maxAccountMessageSizeQuota <no>] - (no description)
  • SET [maxAccountMessageCountQuota <no>] - (no description)
  • SET [maxAccountFolderCountQuota <no>] - (no description)
  • SET [maxAccountFolderMessageSizeQuota <no>] - (no description)
  • SET [maxAccountFolderMessageCountQuota <no>] - (no description)
  • SET [maxMaillistMessageSizeQuota <no>] - (no description)
  • SET [maxMaillistMessageCountQuota <no>] - (no description)
  • SET [maxMaillistFolderCountQuota <no>] - (no description)
  • SET [maxMaillistFolderMessageSizeQuota <no>] - (no description)
  • SET [maxMaillistFolderMessageCountQuota <no>] - (no description)
  • SET [maxPublicFolderMessageSizeQuota <no>] - (no description)
  • SET [maxPublicFolderMessageCountQuota <no>] - (no description)
  • SET [maxPublicFolderFolderCountQuota <no>] - (no description)
  • SET [maxPublicFolderFolderMessageSizeQuota <no>] - (no description)
  • SET [maxPublicFolderFolderMessageCountQuota <no>] - (no description)
  • SET [availableServices (list of domain services)] - (no description)
  • SET [maxSubdomains <no>] - (no description)
  • SET [subdomainStorageLocation <path>] - (no description)
  • SET [subdomainObjectStorageLocation <path>] - (no description)
  • LIST subdomainMessageStorageLocations - list message storage locations for this subdomain
  • ADD subdomainMessageStorageLocation <path> - add a message storage location for this subdomain
  • REMOVE subdomainMessageStorageLocation <path> - remove a message storage location for this subdomain


Account context

The commands available for the Account context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • COMMIT - commits the changes made in this context
  • SHOW [ATTR <param>] - shows information about this context
  • LIST Aliases - lists aliases for current account
  • SET [name <name>] - sets the account's name - only usable in an UPDATE operation
  • SET [password <password>] - sets password for the account
  • SET [customerReference <string>] - sets the customer reference for use with external billing like systems
  • CONFIG WebMailData - enters the WebMailData context
  • CONFIG Filters - enters the filters context
  • CONFIG Quotas - enters the quota context
  • CONFIG Limits - enters the limits context
  • CONFIG SendRecvRestrictions - enters the send/recv restrictions context
  • CONFIG ContactInfo - enters the contact information context
  • CONFIG WebMailAdvertising - enters the WebMail advertising context
  • ADD Alias <aliasName> - adds an alias for the account
  • REMOVE Alias <aliasName> - removes an alias from the account
  • SHOW RegistryInformation - shows registry information
  • UPLOAD wmFilter - uploads a WebMail filter for the account
  • INHERIT SETTINGS FROM domainDefaults - inherit settings from domain defaults (explicit values will not be reset)
  • INHERIT SETTINGS FROM accountClass <accountClassName> - inherit settings from specified account class (explicit values will not be reset)


Account class context

The commands available for the Account class context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • COMMIT - commits the changes made in this context
  • SHOW [ATTR <param>] - shows information about this context
  • CONFIG Filters - enters the filters context
  • CONFIG Quotas - enters the quota context
  • CONFIG Limits - enters the limits context
  • CONFIG SendRecvRestrictions - enters the send/recv restrictions context
  • CONFIG WebmailAdvertising - enters the WebMail advertising context
  • SET [name <name>] - sets the account class name - only usable in an UPDATE operation


WebmailData context (as subcontext of account)

The commands available for the WebmailData context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • DONE - saves the changes and switches back to previous context
  • SHOW [ATTR <param>] - shows information about this context
  • SET [skin <skin>] - sets the skin for WebMail
  • SET [pageSize <pageSize>] - sets page size
  • SET [saveToSent <yes|no>] - sets keep a mail copy in "Sent" folder
  • SET [deleteToTrash <yes|no>] - sets delete mail to trash
  • SET [autoRefreshInterval <minutes>] - sets WebMail automatic refresh interval stated in minutes
  • SET [confirmMailDelete <yes|no>] - sets confirmation of mail delete
  • SET [confirmFolderEmpty <yes|no>] - sets confirmation of empty folder
  • SET [htmlFilterLevel <no.>] - sets the security level for a html mail body
  • SET [language <language>] - sets the WebMail's language
  • SET [usePublicContacts <yes|no>] - indicator if the account should use the domain public contacts in addressbook context
  • SET [useRcptContacts <yes|no>] - Indicator if the account should use the domain recipient contacts in addressbook context
  • SET [requestReadReceipts <yes|no>] - enable/disable requesting of read receipts
  • SET [sendReadReceipts <always|never|ask>] - enable/disable sending of read receipts
  • SET [timezone <string>] - sets the timezone preference
  • ESET signature - sets the account's signature


WebmailData context (as subcontext of list)

The commands available for the WebmailData context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • DONE - saves the changes and switches back to previous context
  • SHOW [ATTR <param>] - shows information about this context
  • SET [skin <skin>] - sets the skin for WebMail
  • SET [pageSize <pageSize>] - sets page size
  • SET [saveToSent <yes|no>] - sets keep a mail copy in "Sent" folder
  • SET [deleteToTrash <yes|no>] - sets delete mail to trash
  • SET [autoRefreshInterval <minutes>] - sets Webmail automatic refresh interval stated in minutes
  • SET [confirmMailDelete <yes|no>] - sets confirmation of mail delete
  • SET [confirmFolderEmpty <yes|no>] - sets confirmation of empty folder
  • SET [htmlFilterLevel <no.>] - sets the security level for a html mail body
  • SET [language <language>] - sets the WebMail's language
  • SET [timezone <string>] - sets the timezone preference
  • ESET signature - sets the account's signature


Quotas context

The commands available for the Quotas context are:

  • EXIT/QUIT - exits CLI and closes connection to Axigen
  • HELP - prints this help message
  • BACK - cancels any changes made and switches back to the previous context
  • DONE - saves the changes and switches back to previous context
  • SHOW [ATTR <param>] - shows information about this context
  • SET [mboxCount <count>] - sets the maximum number of folders
  • SET [totalMessageCount <count>] - sets maximum number of messages in all folders
  • SET [totalMessageSize <size>] - sets maximum size in KB of all messages in all folders
  • SET [messageCount <count>] - sets default maximum number of messages in a folder
  • SET [messageSize <size>] - sets default maximum size in KB of messages in a folder
  • SET [quotaLimitThreshold <size>] - sets percent of quota which triggers an alert
  • SET [quotaLimitNotificationInterval <size>] - sets the minimum interval(in minutes) between two quota limit notifications
  • SET [quotaLimitNotificationSubject <text>] - sets email subject of quota limit notification message
  • SET [quotaLimitNotificationEnabled <yes|no>] - enables/disables the quota limit notification
  • SET [quotaSendMessageThreshold <percent>] - sets percent of quota which blocks user from message sending
  • ESET quotaLimitNotificationBody - sets email body of quota limit notification message


Special Contexts

The action of each command may differ in specific contexts that represent exceptions to the general behavior. As said before, some contexts have additional commands that have an exceptional character. Thus a detailed overview of each context is presented below.


Login context

prompt: <login>
parent: none

The login context is used only for authentication and has the following commands: HELP, USER, EXIT/QUIT, SET. The USER command usage is USER <username>.

This context is associated with the maxAuthErrors config parameter: when this parameter is exceeded, the connection is closed; the maxAuthCommands parameter also applies to this context: if the number of commands issued is greater (with or without error), the connection is closed.

In this context, global options can be set. The CONSOLE-CODES option allows console codes used for colors to be turned on/off. The QUIET option, if set to on, will display in all contexts and with all commands only the minimum amount of text needed to present the information, thus making the output script friendly.

Documentation-warning.png Warning: If the CONSOLE_CODES option is set to off, the password will also be visible in the command line (not applicable if connecting through a script).


Root context

prompt: <#>
parent: none

The root context is the starting point of configuring the server. Here, several actions can be started: domain configuration (including accounts and lists), server configuration and also reports can be viewed. Also, the "Commands context" is accessible from here where some commands can be issued to the server.

This context does not have COMMIT/DONE or CANCEL commands because it is the first context. It neither has SHOW without parameters because it is not related to any config object.

From the "Root context", we can access the REPORTING, MIGRATION and COMMANDS contexts which are detailed below. The LIST DOMAINDATA command is here because a domain database location must be provided when adding a domain.

The ADD DOMAIN command, takes 2 parameter-value pairs, one for setting the domain name and one for specifying in which domain database location the domain should be created.


Reporting context

prompt: <reporting#>
parent: Root

This context is for viewing various reports for the server. It has the BACK command for switching back to the Root context but does not have COMMIT/DONE because it is a read-only context.

The commands available are: VIEW COUNTERS with a parameter of all, others and domain. If domain is the parameter, a value must be specified, that is, a list of domains separated by "+". The list must be in double quoted format. Another command is VIEW QUEUE which displays a snapshot of the mail queue and information on the emails in processing stage.

The VIEW COUNTERS domain command, makes a sum of all counter of the domains given as parameters. If a domain does not exist, it will not be counted in the sum. This means, to an extent, that if the list is made of one or more domains that do not exist, the list will show for all counters, a value of 0.


Server context

prompt: <server#>
parent: Root

The server context is where the server configuration is started. It has commands for entering the configuration context of every service for configuring filters and domain database locations, etc.

It has the common commands CANCEL, COMMIT, HELP, QUIT/EXIT, and SHOW. The SHOW command will show the value parameters of the server like services, primaryDomain, etc. In the case of the services parameters, it will show the services started but it is updated only when the server context is entered or left with commit or cancel. So, if a service was stopped while in the server context, it will not show up stopped.

The SET command, will set the one or more param-value pairs that are given as parameters. In the case of the services value parameter, it will stop or start the services only when COMMIT is issued. If CLI is removed from the list of services, it will be stopped at COMMIT but it will show up as started when SHOW is issued.

The ADD FILTER command, takes 3 parameter-value pairs because the respective values are required.

The commands for configuring the services are CONFIG <SERVICE_NAME> and the context will switch to the one corresponding to that specific service.

From this context domains database locations can be managed. Thus there are functions to LIST, ADD, REMOVE, CREATE and DESTROY a domain database location. Before a location can be added, it must be created, otherwise the commit command will fail and no location will be added. The CREATE command, aside from the path, takes an additional parameter: an unique id that has to be from 0 to 255. It is impossible to add two locations with the same id on the server's list.


Commands context

prompt: <commands#>
parent: Root

The "Commands context" is a special context that allows the remote administrator to issue commands to the server. It has two sub-contexts, the Server and Storage contexts that will be described below.

Directly from the "Commands context", the password for the CLI and WebAdmin sessions can be changed and the two sub-contexts can be entered.

As in the case of MIGRATION and REPORTING contexts, the COMMANDS context has the BACK command for switching back to the "Root context" and does not have Template:COMMIT/DONE commands.


Commands-Server context

prompt: <commands-server#>
parent: Commands

The "Server sub-context", is used to issue server-related commands to Axigen.

There is a command for trying to force all mail in the queue to be processed and/or sent, regardless of their rescheduled time. This command is FORCE QUEUE.

The command SAVE CONFIG, saves the configuration. If no parameter is given, it will be saved in the default location. If a path parameter is given, it will be saved in that location but for security reasons, a suffix will be added to the file. The SHOW CONFIG command, will dump the configuration as it is written in the config file. This command is also available from the Root and Root-Server contexts.

The START/STOP service command will start/stop a service immediately without the need for COMMIT command as in the case where services are modified from the "Root-Server context".


Commands-Storage context

prompt: <commands-storage#>
parent: Commands

This context allows several operations with the Axigen Storage System. The storage system, is composed of Message Containers, where messages for a certain domain are kept.

The operations available are LIST containers, CHECK container, COMPACT container, LOCK container and UNLOCK container.

The LIST container command takes as parameter the domain name and lists all message containers available for that domain.

The LOCK / UNLOCK container commands, as their names suggest, lock and unlock the container given as parameter, meaning respectively that messages can or cannot be stored. These commands are useful when a snapshot of the container needs to be saved.

The CHECK container command, starts a check on the structure of a certain container. After a check is started, the status can be seen by issuing the LIST containers command.

The COMPACT container command, will start a defragmentation of the specified container and, similarly to CHECK, issuing the LIST command will show the status of the container.

The optional parameter priority, if set to "high", will increase the speed of that operation but the container will be unavailable to any service, even for reading. The default value is "low".


Migration context

prompt: <migration#>
parent: Root

The "Migration context", allows messages to be migrated from other servers to Axigen. The common commands are the same as in the case of REPORTING and COMMANDS and it has one command with many parameters for migration.

The MIGRATE command will migrate all emails from an account on a remote server using the IMAP protocol. The migration is completed when the entire directory structure is migrated.

The mandatory domain and account parameters, will identify an account into which the messages will be migrated. The remoteHost, remotePort, remoteUser and remotePass parameters are self explanatory.


Troubleshooting CLI

If you cannot connect to CLI, please check if:

  • You have enabled the CLI service (open the Server -> Services Management page in WebAdmin, CLI is enabled in the "Running Services" area);
  • You have correctly configured the CLI listener (the list with the listeners currently defined in Axigen can be found in the CLI Tab -> Listeners section in WebAdmin; check if your listener is enabled);
  • By default the CLI listener is set to 127.0.0.1 which means that only connections from localhost are possible. If you want to connect from a remote host you can set this listener to 0.0.0.0 which means that the CLI service will listen for connections on all the available interfaces;
  • You’re connecting using the correct username: for the current version, please use the "admin" username and the password you have previously configured using the wizard;
  • You should also check your firewall settings to allow connections on the port specified for the CLI service.
Personal tools
Namespaces
Variants
Actions