“There are many packages that can supply standard mail
services under Linux. Basically the UNIX/Linux e-mail model
involves MTA (mail transport agents), MSA (mail storage/access
agents) and MUAs (mail user agents). There are also a variety of
utilities that don’t really quite fit in any of these
categories.”
“Under Linux there are several MTAs including sendmail, the most
common across most forms of UNIX; and D.J. Bernstein’s qmail and
Wietse Venema’s Postfix. These accept and relay mail. This sounds
quite simple, but in practice it can be quite complex. There are a
number of routing and masquerading options that can be set by
administrative policy — and these amount to programming languages
that filter and modify the headers of each message as it is
relayed. In addition the process of routing mail and finding user
mail boxes (mail stores) can involve arbitrarily complex
interactions with various directory services (DNS, passwd files,
NIS, LDAP alias/dbm files, and all manner of custom
databases).”
“These days MTAs also have to implement anti-spam features that
amount to access control lists and rules about the address formats
(to and from headers) that are allowed from specific domains and
address ranges. (Those generally also involve queries on tables or
directory services, including those like Paul Vixie’s RBL
(real-time blackhole list: or MAPS, mail abuse prevention system)
and it’s ilk, like Dorkslayer/ORBS. Recently, MTAs are being
increasing required to enforce other policies and implement
anti-virus/anti-worm features.”