[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Building a mail server



Jeffrey Hartmann said on Wed, Jul 30, 2003 at 12:37:52PM -0700:
> Requirements (mostly standard stuff):
> 
> 1) maildirs - I've been told that maildirs is less CPU intensive since the MUA
> doesn't have to scan through huge mailbox files.  I also like that one mangled
> message isn't going to corrupt a whole mailbox.  The other option I was
> thinking about was Cyrus or maybe find something that stores mail in mySQL,
> but many people seem to talk badly about 'proprietary' mail storage formats.
 
This is fine.  Keep in mind that Maildir just pushes all of the locking issues
that mbox has into the filesystem, so you'll want to use a filesystem that's
good with lots of tiny files.  reiserfs is pretty good; I hear good things
about xfs, but haven't tried it myself.  ext2/3 have been very slow in my
experience, although supposedly the hashed directory support that was recently
added helps with this application.

> 2) virtual domain support
>      specifically I like the sendmail style virtusertable:
>           bob@domain.com: user1
>           @domain.com:    user2
 
All MTAs worth anything support this.  At least, postfix, exim, and qmail do.

> 3) imap - Cyrus or Courier seem to be the current top contenders.
 
I use Courier; it's pretty good.  Cyrus won't work with anything other than
their own mail storage system, so if you want to use Maildir you can't use
Cyrus.

> 4) webmail - I like openwebmail, but it only does mbox mail spools. 
> Squirrelmail seems to be the most popular here.
 
Squirrelmail is pretty good, and since it uses IMAP it doesn't care about your
backend.  I find that it's a little slow, though.  I've heard good things about
sqwebmail, but haven't tried it yet.

> 5) smtp auth - Sendmail had a patch/configuration option for this. 
> pop-before-smtp is an option, however I like the smtp auth method better. 
> It'd be nice if I could have everything behind SSL and still have it
> compatible with the popular windows MUAs.
 
The postfix-tls supports this well; exim does also, but I don't use it.

> 1) Server based filtering,  What I'm really looking for here is the ability to
> sort all my mail by domain.  So maindomain.com mail would end up in INBOX/,
> but domain1.com mail would end up in INBOX/domain1.com/.  This really ties to
> the IMAP, as those are the folders I would be sorting into, and I'd like the
> filtering to happen on the server so it's already filtered no matter what MUA
> I'm connecting with.  It could also be used for just general mail filters like
> filters mailing lists to different folders.  Right now I color code my
> messages in OE so I know what mail server it came from, but I can't seem to do
> that in IMAP.
 
You can use procmail or the Courier mail delivery program as your delivery
agent, which would allow for per-user filters.

> It would be nice to be able to setup the filters from the MUA, but I'm
> guessing thats going to be pretty rare or impossible to find.  It wouldn't be
> too horrible to have to do it manually from a shell, as the people using this
> feature would be the more advanced users.
 
There are probably a few web guis for server side filters, but I don't know
them.

> Along this line also the POP3 server shouldn't distinguish between the
> filtered mail and just kick it all out like a normal pop3 server.  (The filter
> could possibly add some X- header to signify the sorting for pop users.)
 
That's, uh, trickier.  :)

> 2) virtual users.  Currently everyone has thier own account on the system, and
> mail is delivered according to the virtusertable.  I have some family members
> that don't really know how to use a shell account, so I'd like the ability to
> not have to open that account for them.  I'd rather have virtual users than
> having to take measures to lock the account.  So I would still need that
> virtusertable functionallity, but it would have to be able to deliver to
> virtual accounts as well.
 
I don't know how to do this with courier IMAP, but I think you can.

> 3) spam and virus scanning.  This seems pretty trivial to implement.  Mainly
> I'd like to have the spam filters, but virus scanning is a plus as well. 
> SpamAssassian looks good, but I'm not sure if there are any virus scanners
> that wouldn't cost too much for a small server like this.

Use amavis as a filter, and then hook spamassassin into it, plus whatever
antivirus filter you want.  At least one of them is open source, not sure how
good it is.

> 4) fetchmail or something like it that could run globally for all users like
> every hour and inject the messages into the maildir/IMAP.  Again if I could
> filter this so messages from myisp.com went into INBOX/myisp.com/ I would be
> happy.
 
Just use fetchmail?

> So can anyone give me some idea of what they run, or suggestions of what to
> use that could be configured to do a lot of this stuff?  Ease of install isn't
> really an issue, as I really don't have to do that very often.  Ease of use
> and maintenance is a big issue, as I don't want to have to go through a 50
> step process every time I add a new user.
 
I run one system using postfix-tls, courier-imap-ssl, and squirrelmail, with
Maildir as the storage system.  It works pretty well.

I run another system using sendmail, UW-imap, and squirrelmail, with mbox as
the storage system, and it also works pretty well.

Both systems use procmail for mail filtering.

M

Attachment: pgpQCa_fnND63.pgp
Description: PGP signature


Reply to: