Archiving Emails from an Exim Based Email Server

Revision as of 17:02, 14 June 2010 by Vivian (talk | contribs)

Archiving Incoming and Outgoing Emails Directly

When integrating MailStore into an Exim based email infrastructure, it is recommended to have Exim put all emails into an archiving mailbox in addition to the default user's mailbox. For this, it is necessary to add a new Exim router and transport:

Step 1: Adding an Exim Router

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

  transport = mailstore_transport
  driver = accept

It is mandatory to put that router in a place before any mailbox delivery is done. Making it the the first router in you Exim's router section is the most secure way if you do not want to miss a mail in your archive. 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 also has to be set up. A new transport can be put anywhere in Exim's transports section.

The following code show a transport configuration, which makes Exim store all emails in Maildir format at /var/mailstore/Maildir. If you want to store the emails elsewhere change the configuration according Exim's manual.

  driver = appendfile
  maildir_format = true
  create_directory = true
  directory = /var/mailstore/Maildir

Last but not least you need a system user who's IMAP home directory points to /var/mailstore/Maildir. In most cases, like in Dovecot IMAP, it is enough to have a system user who's $HOME points to /var/mailstore.