CommuniGate Pro IMAP Module

Intro
Installation
SysAdmin
Objects
Transfer
Access 
Sharing 
POP 
IMAP
Web User 
LDAP 
ACAP 
PWD 
Directory
Data Files
Clusters
WebMail
Miscellaneous
Licensing
HowTo
The CommuniGate Pro IMAP module implements an IMAP server. IMAP servers allow client applications (mailers) to retrieve messages from account mailboxes using the IMAP4rev1 Internet protocol (RFC2060) via TCP/IP networks.

The IMAP protocol allows client applications to create additional account mailboxes, to move messages between mailboxes, to mark messages in mailboxes, to search mailboxes, to retrieve MIME structure of stored messages, and to retrieve individual MIME components of messages stored in account mailboxes.

The CommuniGate Pro IMAP module supports both clear text and secure (SSL/TLS) connections.

Internet Message Access Protocol (IMAP)

The Internet Message Access Protocol allows computers to work with messages stored in mailboxes on 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.

CommuniGate Pro IMAP supports various Internet standards (RFCs) and has many additional unique features.


Configuring the IMAP module

Use a Web browser to configure the IMAP module. Open the Access page in the WebAdmin Settings section (realm):

Serving IMAP Clients
Log:  
Channels: listener

Use the Log Level setting to specify what kind 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.

By default, the IMAP module Listener accepts clear text connections on the TCP port 143, and secure connections - on the TCP port 993. Follow the listener link to tune the IMAP Listener.

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.


MultiAccess

While many other IMAP servers "lock" opened mailboxes, the CommuniGate Pro IMAP is designed to provide simultaneous access to any mailbox for any number of clients.

In reality, the IMAP module uses the CommuniGate Pro Mailbox Manager that provides this feature for all types of clients. See the Sharing section for the details.


Access Control Lists

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.


Foreign (Shared) and Public Mailboxes

CommuniGate Pro allows account users to access mailboxes in other accounts. See the Sharing 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 (in the account settings). 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 Web User 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.


User Authentication

The IMAP module allows users to employ all authentication methods supported with the CommuniGate Pro Server.


Notification Alerts

The CommuniGate Pro IMAP module checks for any pending alert message sent to the authenticated account. The alert messages are trasnferred 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.


Login Referrals

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.

Sample:
A user account j.smith has been moved from your server to the account John at the othercompany.com server. In order to reroute the user mail you have created an alias record in the Router:
<j.smith> = John@othercompany.com
Now, when this user tries to connect to his old j.smith account on your server, the server rejects the user name, but provides a login referral:
1234 NO [REFERRAL IMAP://John;AUTH=*@othercompany.com/] account has been moved to a remote system
If the mail client supports login referrals, it will automatically try to connect to the server othercompany.com as the user John.

CommuniGate® Pro Guide. Copyright © 1998-1999, Stalker Software, Inc.