Archiving Emails from an Exim Based Email Server

Please note: this tutorial only covers the specifics of archiving an email server based on the mail transfer agent Exim. It is assumed that you already have a MailStore Server installation or test installation and are familiar with the fundamentals of MailStore Server. Please refer to the Manual or the Quick Start Guide for more information.

MailStore Server offers several ways to archive emails from Exim, which are described below. If you are not sure which archiving method best suits your company, please refer to chapter Choosing the right archiving strategy.

Archiving Individual Mailboxes

Mail transfer agents such as Exim are only responsible for transporting emails and, when acting as mail delivery agent, for the delivery to local mailboxes. For accessing the emails in the mailboxes with MailStore, an IMAP- or POP3 service (called mail retrieval agent) must be installed and started on the email server. If access to the email server via the IMAP and/or POP3 protocol is possible, please refer to the corresponding chapter Archiving Server Mailboxes in the MailStore Server manual to set up the archiving process.

Archiving Multiple Mailboxes in One Step

Mail transfer agents such as Exim are only responsible for transporting emails and, when acting as mail delivery agent, for the delivery to local mailboxes. For accessing the emails in the mailboxes with MailStore, an IMAP- or POP3 service (called mail retrieval agent) has to be installed and started on the email server. If access to the email server via the IMAP protocol is possible, please refer to the corresponding chapter Batch Archiving of IMAP Mailboxes in the MailStore Server manual to set up the archiving process.

Archiving Incoming and Outgoing Emails Directly

In addition to delivering the messages to their respective user mailboxes, it is recommended to have Postfix send a copy of all emails to an archiving mailbox when archiving incoming and outgoing emails. This requires a new router as well as a new transport to be added in the Exim configuration.

Step 1: Adding an Exim Router

The configuration of the new Exim router should look like this:

mailstore_router:
  no_expn
  no_verify
  transport = mailstore_transport
  driver = accept
  unseen

Please make sure that the mailstore_router is passed through before the router responsible for delivering the messages to the actual user mailboxes. It is strongly recommended to enter it first in the Exim router configuration. Depending on your anti-spam or anti-virus protection it may also be suitable to put it right after the routers handling those actions.

Step 2: Adding an Exim Transport

The above router calls a transport called mailstore_transport which has to be set up next. A new transport can be put anywhere in the Exim transport configuration. The following example shows the configuration of an Exim transport storing all emails in Maildir format in the directory /var/mailstore/Maildir. To store messages in a different location, please refer to the Exim manual.

mailstore_transport:
  driver = appendfile
  delivery_date_add
  envelope_to_add
  return_path_add
  maildir_format = true
  create_directory = true
  directory = /var/mailstore/Maildir

To retrieve emails from the mailbox there must exist a system user whose IMAP home directory points to /var/mailstore/Maildir. In most cases, if using a Dovecot IMAP server, for example, it is sufficient to have a system user whose home directory points to /var/mailstore.

Weblinks