lly important here to use a "proper" desktop mail
client to read the test messages: that way you can get a full "view
source" and can inspect the mail headers to work out what's happening
where. I managed to scrape through without too much other
instrumentation or traffic sniffing but it can be a bit hairy. Having a
sharp eye on /var/log/exim (tail -f /var/log/exim/*) is always worth it.
Adding anti-spam measures can be easily accomplished by hooking your
working MTA into the Bitfolk Spam Assassin service.
> *A POP3/IMAP server for my client.
For this I use Cyrus. Cyrus is "serious business" but I like it because
it's a completely "sealed" mailserver. It doesn't require UNIX accounts
for every user and it doesn't integrate tightly with the MTA: the MTA
delivers mail over a local mail protocol and so the two pieces of
software end up completely independent.
Other options are Dovecot, Courier and uwimap and traditional mbox /
Maildir spools.
Cyrus has traditionally had a reputation of being a bit of a pig to set
up. I set mine up in ~1996 and I've been happy with it ever since. I'm
not sure how it compares to other MSAs currently in use but when I
deployed one a few years ago it was fairly painless. Initially I used it
as a standalone store: I just set it up as another account in my mail
software and then dragged messages to it for archiving: my ISP provided
my main INBOX. Once you get to that stage you can teach your MTA how to
deliver mail to it directly.
Watch out for Cyrus SASL.
> *An SMTP server for my client to send to.
For this I use exim.
The whole idea of separating mail sumbission services from general
server-to-server mail transport services is relatively new. Running both
personalities in a single MTA config requires quite a bit of attention
to detail and can be quite annoying. Again, Tony Finch has some clues in
his config files.
If you choose exim for you submission service then it makes sense to
choose it for your incoming service as well. Ditto for postfix.
Alternatively you could use a dedicated submission agent such as msad
for your submission service and still use exim or postfix as your MTA.
You can find msad on
http://kitten-technologies.co.uk/
Running a submission service is all about fixing up the headers that
MUAs (Mail User Agents) produce incorrectly and adding the ones that
they fail to produce at all.
> *Webmail for on-the-road access to my mail. (my existing provider uses
> Open.Exchange and I like it but I'm also happy to consider other
> recommendations)
I chose roundcube for this because it looks snazzy and I thought that
the users would like it. It's a bit of a pig to configure as it's a PHP
app and therefore debugging options are limited. Once it's running then
it works reasonably well and can hook into your Mail Store and Mail
Submission agents. There are loads and loads of webmail projects out
there and they range in complexity from webmail only all the way up to
comprehensive webapp frameworks where the mail client is just a little
component.
In order to run webmail well you probably want to run a webserver with
SSL and paid-for certificates. I used self-signed certificates because
I'm cheap and it shows.
I hope that this has been useful and hasn't overwhelmed you. Let us know
how you get on an let