Archiving Emails from an Exim Based Email Server

Revision as of 12:47, 18 May 2010 by Admin (talk | contribs)

For integrating MailStore into an Exim based email infrastructure, it is recommended to let Exim put all emails into an archiving mailbox additionally to the default user's mailbox. It is necessary to create a new Exim router and transport for that purpose.

Router

The new Exim router should look like this:

mailstore_router:
  no_expn
  no_verify
  transport = mailstore_transport
  driver = accept
  unseen

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.

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.

mailstore_transport:
  driver = appendfile
  delivery_date_add
  envelope_to_add
  return_path_add
  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.

Weblinks