archiving all IMAP mail?

Jack Barnett jackbarnett at
Fri Feb 15 02:08:42 UTC 2008

   Wael Nasreddine wrote:

This One Time, at Band Camp, C Thala [1]<cthala at> said, On Thu, Feb 14
, 2008 at 04:15:03AM -0500:

On Thu, Feb 14, 2008 at 02:38:46AM -0600, Jack Barnett wrote:

This is the setup I use:

external accounts (pop, imap, etc) <->fetchmail -> procmail ->
filter&archive -> imap
local accounts -> procmail -> filter&archive -> imap

Then my imap clients connect to the imap server.

Please explain what you mean by "local accounts".

If I'm not mistaken from reading your reply, this implies one of two

    1. That I have two IMAP servers, one where I get all my mail, and a
       second one where I push mail after I have filtered/archived it.
       The first one should only by used by fetchmail, the second one is
       read by my various IMAP MUAs.

    2. That I somehow have write access to the backend of my IMAP
       server, so I can pull all the mail from INBOX, do my
       archiving/filtering, and then repush to various folders and read
       from there.

Is that correct?

This isn't how I have it, I suppose Jack has a similar setup to mine,
I'll detail my setup:

First I have postfix installed with sasl/mysql backend, in MySQL I
have all the virtual accounts for various domains, for example I have
an entry for [2]wael at which states that it's a normail
Mailbox, not an alias it also guides postfix/courier-imap to the
folder where the e-mails are stored.

When you send an email to [3]wael at, it goes to the vmail
folder, Now using the package courier-imap which BTW provides both
IMAP and POP3 Server, the email received by postfix can be checked
using POP3 and the username [4]wael at (Full username because
this way I can have virtual domains, and the second most important
reason is below)

Now I have a normal UNIX user account 'wael' which has fetchmail that
downloads emails from many accounts, Gmail, Hotmail, Yahoo, and local
accounts (Which Jack mentioned as well and it's [5]wael at
for my case), fetchmail spits the mail out to procmail which do all
the filtering and deliver the email to /home/wael/.mail folder (If
you left the courier-imap config files as they are then you should
deliver to Mailfolder instead of .mail, check /usr/local/etc/courier-imap/*)

For the IMAP part, When I Use 'wael' instead of '[6]wael at'
it doesn't use the vmail but the UNIX user instead (see below) so it
delivers whatever is under /home/wael/.mail :)

The trick is that courier-imap has authlib backend (authdaemon) , and
authlib has mysql/pam backends, so when u request mails for
[7]wael at it matches mysql qnd goes to virtual mail dir,
when you send wael it matches pam and so mail on home folder

If you need more assistance don't hesitate to ask...

   By local accounts, I mean mail that is delivered directly to the
   server (instead of getting pulled in via fetchmail).
   And yep, that is basically my setup to.
   I use sendmail and don't have a mysql backend, but the concept is the
   Have one imap server and then pull/push all emails from all accounts
   into that imap account
   The benefits of this, is that all your email is in one location and
   you have access to it all, regardless of what workstation or client
   you are using to connect to that server.
   Once place to filter, backup, search, etc.
   It can take awhile to setup if your not familiar with mail server
   software, but once it's working it's very easy to manage a lot of
   different email accounts/addresses.


   1. mailto:cthala at
   2. mailto:wael at
   3. mailto:wael at
   4. mailto:wael at
   5. mailto:wael at
   6. mailto:wael at
   7. mailto:wael at

More information about the freebsd-questions mailing list