Author: patl Date: To: Dave C. CC: exim-users Subject: Re: [Exim] Mail storage formats/ POP/IMAP/webmail daemon/etc..
On 1-Apr-01 at 11:01, Dave C. (djc@???) wrote: >
> Ok, but according to exim's doc, MBX locking doesnt work over NFS..
Even if it worked with Exim, could you guarantee that every client
would also implement it correctly?
> Argh.. is there no format that doesnt have some major design flaw?!
>
> I need to support a mixed environment - POP, IMAP, webmail.. I need to
> be able to distribute load over multiple servers - which unless someone
> has a better idea, means NFS.. I need speed and reliability. So far
> nothing seems to fit that bill.
Most webmail systems can handle IMAP and/or POP for the mailbox access,
so that reduces your requirements to IMAP, POP, and ability to distribute
the load over multiple servers. I missed the first part of this thread,
is load distribution really the requirement; or is it seen as the solution
for for a requirement to support a large number of users?
Fast reliable IMAP and POP access sounds like Cyrus to me. For
distributed load, there is the Murder project at Cyrus; but I don't
know its current status.
> I've looked at Cyrus, but there doesnt seem to be any straightforward
> documentation on how to set it up (eg, the installtion instructions say
> among other things "Ok, now add a user (sic)".. WITHOUT ANY EXPLANATION
> AS TO EXACTLY HOW TO DO THAT.
It depends on which option you've taken for authentication. In
the simplest case you are either using the system passwd file
so the first step is to add a system user with whichever tools
you prefer. Creating a user's inbox is usually done by using
cyradm interactively and issuing the command 'cm user.USERNAME';
where 'USERNAME' is the username of the new user. Since it's
an inbox, the ACL flags should be automatically set correctly.
But since the latest versions of Cyrus use SASL, and that supports
PAM, you could be using almost any mechanism for actually storing
the username<->authentication-info binding. Presumably, since you
chose the method, you'll know how to add users.
Documentation is indeed Cyrus's weakest point; but there is a
rather helpful mailing list. (Two actually, one for SASL issues,
and one for the IMAP/POP system.)
> The pine documentation says to create 'mail.txt' in your homedir, and
> when pine starts up, it reads new mail out of your standard berk format
> mailbox into this tenex format. I have my personal account on my
> personal server set to use that, and it seems to work reasonably well.
> (I use only pine, however - no pop or imap ever) I'm fairly certain
> UW-imap supports that as well.. For distribution this would require both
> /var/spool/mail and the home directories to be NFS mounted on all
> relevant machines. I have no idea how well (if) the locking mechanism
> works over NFS.
You really, really, don't want to distribute mailboxes over NFS.
The locking and performance issues are just too hard to overcome.
(Note that I'm referring specificly to using NFS for mailboxes
and similar uses. There are other uses for which it is perfectly
fine.)
One of the big wins of the Cyrus design is that it forces all access
to go through the IMAP/POP daemon; so you don't have to worry about
a badly written client flubbing the locking or causing other problems.
(It also makes it possible to run the delivery and accessor daemons
entirely as a non-privileged user; which is a huge security win.)