my life with qmail

OK maybe my history with qmail doesn't go a long way (just 3 month) but i guess i got a hold of it
I'm already running a mail server with 30+ domains and 3000+ mailboxes

what i want to do in this series of posts is talk about setting up a qmail server to host multiple domains, while there is a pretty good guide at www.qmailrocks.org i will not go into a lot of details, but rather explain things that i could not really get from qmailrocks.

introduction:
in this post I'll just go through the overall setup of my system, which consists of 2 boxes. the first one we'll call the mail box and the other we'll call the scan box
the mail box is the server where the whole thing is built and is responsible for smtp, pop3, imap and anything we'll install including spamassassin and clamAV
the scan box is the server where we'll install qmail itself, qmail-scanner and spamassassin/clamAV only

why all this?
my goal here was to seperate the scanning process from the mail system, when i first deployed that mail server it was running good already and performance was at its best.
but then it started to degrade and messages would take long time to arrive into mailboxes, webmail taking long to open messages and we almost got full smtp connections queue .
after i investigated this and found that the spam and virus scanning takes a very big part of the server's cpu usage and memory too.
so it was obvious that either i would move the installation to a bigger server or do the separation

the layout
after setting up the two boxes (we'll cover that in a later post) you'll set the mx record of the domain to point to the scan box
the client will set his smtp server in outlook to the mail box and so will do to the pop3 server
now when someone is sending a mail from -for example- yahoo.com, the yahoo server will contact the scan box and relay the message to it. then the scan box will scan for spam and virus and then relay the message to the mail box. the mail box will be configured no to scan messages coming from the scan box.
That's it.
in the next post I'll go through some more details