The Internet Message Access Protocol allows client computers to work with messages stored in mailboxes on remote mail servers. A computer running a mailer (mail client) application connects to the mail server computer and provides account (user) name and the password. If access to the specified user account is granted, the mail application sends protocol commands to the mail server. These protocol commands tell the server to list all messages in the mailbox, to retrieve certain messages, to delete messages, to search for messages with the certain attributes, to move messages between mailboxes, etc.
Use the WebAdmin Interface to configure the IMAP module. Open the Access page in the Settings realm:
Use the Log setting to specify the type of information the IMAP module should put in the Server Log. Usually you should use the Major (message transfer reports) or Problems (message transfer and non-fatal errors) levels. But when you experience problems with the IMAP module, you may want to set the Log Level setting to Low-Level or All Info: in this case protocol-level or link-level details will be recorded in the System Log as well. When the problem is solved, set the Log Level setting to its regular value, otherwise your System Log files will grow in size very quickly.
The IMAP module records in the System Log are marked with the IMAP tag.
When you specify a non-zero value for the Maximum Number of Channels setting, the IMAP module creates a so-called "Listener". The module starts to accept all IMAP connections that mail clients establish in order to retrieve mail from your server. The setting is used to limit the number of simultaneous connections the IMAP module can accept. If there are too many incoming connections open, the module will reject new connections, and the mail client should retry later.
The IMAP module supports the STARTTLS command that allows client mailers to establish a connection in the clear text mode and then turn it into a secure connection.
While many other IMAP servers "lock" opened mailboxes, the CommuniGate Pro IMAP module is designed to provide simultaneous access to any mailbox for any number of clients.
The IMAP module uses the CommuniGate Pro Mailbox Manager that provides simultaneous access for all types of protocols and clients. See the Mailboxes section for the details.
The IMAP module supports RFC2086 (IMAP4 ACL extension). This protocol extension allows IMAP users to grant access to their mailboxes to other users.
See the Mailboxes section for the detailed description of mailbox ACLs.
In order to set Access Rights, a client should use a decent IMAP client that supports the ACL protocol extension. If such a client is not available, mailbox access rights can be set using the WebUser Interface.
CommuniGate Pro allows account users to access Mailboxes in other Accounts. See the Mailboxes section for the details.
Many popular IMAP clients do not support foreign Mailboxes. There is a workaround for IMAP mailers that use the "subscription" scheme. Subscription is a list of mailbox names that the mailer keeps on the server. Usually, mailers build the subscription list when you configure them for the first time. Later, they show only the mailboxes included into the subscription list.
By using a different IMAP client or the WebUser Interface, a user can add a foreign mailbox name (such as ~sales/processed or ~public/news/company) to the subscription list. This will make the old IMAP client show the foreign mailbox along with the regular account mailboxes, and the user will be able to work with that foreign mailbox.
Some IMAP clients (such as Microsoft Outlook and Outlook Express) do not support foreign mailboxes at all. To let those clients access shared mailboxes in other Accounts, Mailbox Aliases can be used.
The IMAP module allows users to employ all authentication methods supported with the CommuniGate Pro Server.
If the Domain CLRTXT Login Method option is switched off, and the connection is not encrypted using SSL/TLS, the Server adds the LOGINDISABLED keyword into the list of its supported capabilities.
The CommuniGate Pro IMAP module provides access to Mailboxes of all Classes (Calendar, Contacts, etc.). Some clients and/or users can be confused when they see a non-Mail Mailbox.The module includes non-Mail Mailboxes into its IMAP LIST command response if:
The CommuniGate Pro IMAP module checks for any pending alert message sent to the authenticated Account. The alert messages are transferred to the client mailer using the standard IMAP [ALERT] response code.
The CommuniGate Pro IMAP module checks for alert messages right after the user is authenticated, and it can detect and send alert messages at any time during an IMAP session.
The IMAP module supports RFC2221 (Login Referrals).
As explained in the Access section all user addresses provided with mail clients are processed with the Router.
If the specified user name is routed to an external Internet address (handled with the SMTP module) the IMAP module returns a negative response and provides a login referral. If an IMAP client supports login referrals, it will automatically switch to the new address.
You can monitor the IMAP module activity using the WebAdmin Interface. Click the Access link in the Monitors realm to open the IMAP Monitoring page:
If an IMAP connection is used for a MAPI session, the connection row is displayed with a green background.
The IMAP activity statistics is available via the CommuniGate Pro SNMP agent.
The CommuniGate Pro IMAP module implements many IMAP extensions. Some of these extenstions work in the implementation-specific manner.
The CommuniGate Pro IMAP module provides several protocol extensions that are not part of the IMAP standard and are not included into the existing IMAP Extention standards.