RE: Building an IMAP server
I have used a combination of courier imap, vmailmgr, and qmail with great
results for performance and reliability.
All of these are easy to set up and will allow you your pop3 and imap
I'm not sure about exim with maildir. I'm not a great fan of exim for
anything more than simple configurations, but that is only personal
preference and a bit of hacking of qmail code.
I'm not sure why you feel the need to create user accounts on the machine
itself. It seems a bit of a security nightmare to me. Vmailmgr allows you
virtual accounts sitting under a domain master account. This will allow
your machine to be secure and you to have control over access passwords.
I'm not sure how you enforce on your users saving mail on the server. I
think the MUA normally only does what the user requests it do - if you have
a client set up wrongly, it could probably still delete mail from the
For backups, I would suggest looking at systemimager. This will back up
your server as well as the emails and so will also allow you to easily
create an exact copy of your mailserver should something bad happen.
I hope this info is of some use.
Solution City Ltd.
From: Hans Wilmer [mailto:email@example.com]
Sent: 01 February 2003 13:08
Subject: Building an IMAP server
Currently I'm trying to figure out what software to use best to set up
an IMAP server for the company I'm working at. I'll be using Debian
Woody for the server, and the following requirements and suppositions
+ about 60--100 users
+ Mail must be saved on the server, not on the clients.
+ Users should be able to create folders and subfolders to store their
+ Mailboxes are mostly accessed via a webmail client. The webserver
may run either on the same server or on another maschine.
+ Exim should be used as MTA; amavis and spamassassin should be used.
Mail filtering by .forward files and eventually maildrop should be
possible; probably assisted/done by the admin (vacancy,
redirections, maybe automatic sorting into folders).
+ Users may be real users on the server. --- Are there good reasons
+ The server needs to be backed up daily. In case some user manages
to accidentially delete his mail, I'll have to recover from the
backup. This leads to:
+ Mail should be stored in maildir format (in users' home
directories). The server will use ext3fs.
+ Each user should have about 1 GB to store his mails. This will
probably be enforced by setting filesystem quotas. Are there
better solutions to set maildir quotas? Users should be informed
automatically in case they reach their quota limitation; the admin
should get a note, too.
+ Some/most users will store quite a lot of mail (in the sense of the
amount of data, not the number of mails). This should not
impact performance too much. (leads to using maildir, again)
+ It would be nice to have POP3 working, too.
+ To make things easy, I'd like to stay with software from standard
Debian packages, but that's not a must.
As of yet, available software to build the server seems to be quite
Cyrus seems to be good for performance, but it is using its own format
to store the mail. That would make it impossible to recover particular
mailboxes from backups, and if something goes wrong, you're more or
less left stranded because of the propriatry format that is used.
Courier would do maildir, but it is an MTA in itselfe. It might be
possible or even a good idea to only use the imap server of
courier. But I don't know how nicely or if at all it suffices the
above needs. What would you suggest here?
As of yet, the capabilities of uw-imapd are unknown to me. Does it
There's also a mailutils-imap4d package. It is as unknown to me as
uw-imapd. Does it support maildir?
How do I improve secure operation and reliability? For example, while
backing up the server, mail might be delivered or sent
nonetheless. And even with daily backups, when having to recover from
a backup, the intermediate traffic would be lost.
Since the costs are a critical issue, the server will have IDE disks
and probably no hardware RAID. Does IDE RAID work at all? Does it make
sense to use lvm to mirror the data to a second disk (instead)? (I
havn't used lvm yet, but I think mirroring is possible?)
(On the long run, there should be a second server to accept mail from
the outside world as a fallback in case the 'real' server is down. It
should keep the incoming mail in its queue to deliver it to the real
server when it comes back online.)
Any suggestions are greatly appreciated. Thanks in advance!
To UNSUBSCRIBE, email to firstname.lastname@example.org
with a subject of "unsubscribe". Trouble? Contact