On Tue, Apr 13, 2004 at 10:02:39AM +0800, Zhang Weiwu wrote:
> Hello. I never did this before, but now I'll setup a mail server in the
> coming weeks. Here is the requirement:
>
> 1) the mail server should run both smtp and imap, sending and accepting
> emails
> 2) mail server should be able to ask for confirm before it deliever
> executables. Or it should be able to reject all emails with Windows
> executable file attached
> 3) should be albe to extend to handle multi-domains in the future
>
> I don't really understand what part of email server is handled by what
> program. I thought I need a sendmail plus a imap server (cyrus comes out
> in my mind, but I don't know if it should be my choice), is that all?
>
> I'm the kind of lazy guy not to RTFM, but I need direction guide,
> suggestion from you so that I know what the f**k manual to read:)
Hmmm... I judge that you need four components:
i) An MTA -- this is the daemon that handles transmission of e-mail
between sites. It's the bit that speaks SMTP. There are 4
major implementations available of various degrees of
popularity, with various pros and cons:
sendmail
exim
qmail
postfix
There are others, including various 'all-in-one' mail solutions
based on one or other of those packages. You should also consider
whether you need to provide 'SMTP AUTH' -- so your users have to
authenticate themselves before they can inject a new message into the
system via your server. (All of those MTAs can provide that, but
usually require some extra software libraries to be linked in with
them).
ii) An IMAP server. Again, there are several choices available, but
which one you choose depends in part on:
iii) A delivery agent. This actually defines the format in which
e-mail mailboxes are stored.
The choice of formatis is basically:
mbox -- the traditional format provided under Unix: almost all
delivery agents (and IMAP daemons) will deal with this
format, but of note are mail.local(1) and procmail(1)
Maildir -- As used by the courier system. Also handled by
procmail(1)
Cyrus -- essentially requires you to use the rest of the Cyrus
system for your mail server.
Thus if you choose mbox format you can use dovecot, UW imapd or
dkimap4. For Maildir, you can use dovecot, UW imapd, bincimap
or courier-imap. (Personally, I prefer to use dovecot for the
security features).
iv) An anti-virus/anti-spam solution, which will let you filter out
MS executables. Having the server *ask* for confirmation on
sending questionable content is probably not the right thing to
do. If user interaction is required, it should be provided by
the users' mail program running on their desktop. The server
should implement your policy as a simple accept/reject of the
message (although you could choose to accept, but mark the
message as probably infected or spam). Look at:
Spam Assassin (the port is called p5-Mail-SpamAssassin)
clamav anti-virus
Amavisd -- lets you integrate all sorts of AV and anti-spam solutions
into various Unix mail systems.
Another consideration you will want to bear in mind: do you want to
give all of your e-mail users full blown accounts on your mail server,
or do you want to provide and 'e-mail only' service? If the latter,
you will need to look at the more 'professional' solutions, which are
designed to work generally on a larger scale and which tend to be a
bit more complicated to set up. The Cyrus stuff is the extreme
expression of that.
I hope that gives you sufficient ammunition for you to be able to
better target your searches for more information.
Cheers,
Matthew
--
Dr Matthew J Seaman MA, D.Phil. 26 The Paddocks
Savill Way
PGP: http://www.infracaninophile.co.uk/pgpkey Marlow
Tel: +44 1628 476614 Bucks., SL7 1TH UK
pgp0.pgp
Description: PGP signature