|
Related YoLinux Tutorials:
°Mailman Installation / Configuration
°Internet Security
°Security tools
°Linux Networking
°YoLinux Tutorials Index
Free Information Technology Magazine Subscriptions and Document Downloads
Free Information Technology Software and Development Magazine Subscriptions and Document Downloads
|
| Mail Transfer Agents (MTA): |
Open Source:
- MTA's:
- Sendmail
- Postfix - Fast and secure - Wietse Venema's mailer (son of VMailer and IBM Secure Mailer)
- Zimbra -
Based on Postfix MTA, includes AJAX
based web mail and calendering, antispan, search, backup, archiving,
.... Built on top of Tomcat, MySQL, JAVA, Apache, Lucene, ClamAV,
SpamAssassin, OpenLDAP and of course Postfix technologies. [flash presentation] It rocks.
- Exim - University of Cambridge (son of Smail)
- QMail
- Integrated Mail and Calendaring:
- Zimbra - See comments above
- Citadel - Email, GroupDAV calendaring and scheduling, address books, bulletin boards, IM, IMAP, POP3, ESMTP
Commercial MTA's:
- Axigen: eMail server, anti-virus, anti-spam, web mail, backup/restore.
- Blue Tail: Mail Robustifier - Features traffic logging, load balancing and overload control
- Bynari - Email,
messaging and collaboration. Replacement for Microsoft NT/Exchange
Server, supporting functionality available in Outlook.
- Samsung Contact Server - MS/Exchange server compatible (Was HP OpenMail.)
- Novell/S.U.S.E. Linux Openexchange Server (SLOX) - Postfix, IMAP and LDAP configured for use with MS/Outlook (See the YoLinux LDAP tutorial and see how to do it for free.)
Supports MAPI (Messaging Application Programming Interface) clients and SIP.
Third party support for anti-virus and anti-spam. Also POP3, IMAP4 support.
(Infoworld review)
- Caldera: Volution Messaging Server - Outlook compatible [Software review]
- IBM: Lotus Notes Domino Mail Server - E-mail, Web access, Calendaring and Scheduling, bulletin boards, newsgroups, mobile support
- Gordano - Messaging, Calendaring, Webmail, MAPI, anti-virus and anti-SPAM. Also POP3, IMAP4 support.
- Sendmail.com - commercial version of sendmail
- Scalix - Messaging, Webmail, MAPI. Third party support for anti-virus and anti-spam. Also POP3, IMAP4 support.
- Stalker software: CommuniGate Pro
- Features anti-Spam, clustering, web admin, web mail, multi-domain,
Mail lists, LDAP, ACAP, SSL, CLL, SASL, anti-virus, IM, MAPI, POP3,
IMAP4
- Axigen mail server - SMTP, POP3, IMAP4, WebMail, List Server SSL/TLS, SPF, antivirus and antispam support
MTA Server support software:
- OpenGroupWare.org
- Was SKYRIX groupware server, then OGo. Piggybacks on an existing SMTP
server to handle mail but then provides calendar groupware and mail
interface with email clients.
Uses WEBDAV interface protocol.
Anti-Spam: |
Execute the following from your SMTP server:
telnet relay-test.mail-abuse.org
This site will run a series of relay tests and return the results in the telnet session.
The proper diagnosis for each test of course is "Relay access denied"
and the final reply:
"System appeared to reject relay attempts".
| Basic Sendmail configuration: |
Sendmail is the default MTA on the RedHat Linux distribution.
Do NOT use linuxconf to configure sendmail as it has NOT been updated to
work with current versions of sendmail!!!
(The tool linuxconf is no longer included with current versions of Red Hat Linux 7.3+)
RPM packages required: sendmail, sendmail-cf and m4
Sendmail receives mail for local system user login accounts. Mail is held in
a single file: /var/mail/userID
Steps to run mail server using sendmail:
- Required for inbound mail: The mail server must be identified by the DNS as the mail server in
order to receive mail. See the
YoLinux tutorial on configuring DNS.
- /etc/mail/local-host-names (Required) (Red Hat 7.1 - Fedora Core 3)
/etc/sendmail.cw (Red Hat 6.x)
This file contains all of the alternate host
names of the server. (i.e. domain-name.com)
Sendmail will not accept mail for a domain unless it is permitted to do
so by the contents of this file.
Sample:
-
megawebhost.com yolinux.com yo-linux.com
|
- File /etc/aliases (Optional) lists alternative names for email recipients.
Sample:
-
webmaster: john, dave postmaster: kim, garret larry.anderson: larry moe.anderson: moe curly.anderson: curly
|
After creation or modification one must run the command newaliases
which will generate a new version of the file /etc/aliases.db
There is no need to restart the sendmail daemon. The changes are picked up
automatically.
- File /etc/mail/virtusertable (Optional) Allows the separation
of emails by domain. i.e. greg@domain1.com and greg@domain2.com go to
two different users greg1 and greg2.
-
webmaster@domain-1.com dave webmaster@domain-2.com john john@domain-2.com john @domain-2.com error:nouser User unknown @domain3.com mathew
|
The second column is the local user, a remote forwarding email address or a mailing list entry in /etc/aliases.
The domain "domain-2.com" will only receive email for john@domain-2.com
and webmaster@domain-2.com while all other mail to this domain receives
an error message.
Convert /etc/mail/virtusertable to /etc/mail/virtusertable.db
with the commands:
- Relaying and receiving mail is controlled by the file:
/etc/mail/access. By default
relaying is only allowed by localhost and sendmail will accept
mail from all. (Red Hat 7.1 default is more strict but the restriction is not from the access file. More below.)
Required for outbound email. Helpful for blocking some unwanted inbound email.
-
localhost.localdomain RELAY localhost RELAY 127.0.0.1 RELAY
|
Generate database file:
[root prompt]# makemap hash /etc/mail/access.db < /etc/mail/access
The access file can be used to thwart spammers.
List IP addresses or email address to deny in the file: /etc/access
After adding entries to the access file, generate the database file
with the command above.
-
XXX.XXX.XXX.XXX REJECT YYY.YYY.YYY.YYY ERROR:"550 We don't accept mail from spammers" spammer@isp.com REJECT " Spam not accepted" ZZZ.ZZZ.ZZZ.ZZZ OK - Override rules and allow
ZZZ.ZZZ OK - Allow from ZZZ.ZZZ.*.* network
|
See the /etc/mail/access file I am currently using. It changes daily. Feel free to cut and paste this Sendmail access file to your system.
Other access lists:
Sendmail.org: More info on cf-readme (See Anti-Spam section)
- Sendmail must be running.
See the YoLinux init tutorial
to learn how the sendmail daemon can be configured
to be started by the system upon system boot.
This may have been configured during installation.
The default configuration is fairly secure and usable.
For Red Hat 6 and earlier systems, you are ready to mail.
For Red Hat 7 systems, there is one more step.
See changes below required to receive mail.
Note: A user defined in the aliases file is valid for all domains
hosted by the system, unless you have configured virtual hosting.
For alternate configurations change the file:
sendmail.cf
The config file sendmail.cf has become so complex that
most people use the m4 macro package to generate this file from
a sendmail.mc file.
Pre-configured ".mc" files can be found in the directory:
- /etc/mail/ (Red Hat 9.0 - Fedora Core 3)
- /usr/lib/sendmail-cf/cf/ (Red Hat 7.1)
- /usr/share/sendmail-cf/cf/ (Red Hat 6.x)
Default Red Hat sendmail.cf configurations:
- Fedora Core 3, Red Hat Enterprise Linux 4, CentOS 4:
cd /etc/mail make
(Checks for changes and rebuilds data files.)
or perform the manual process:
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
- Red Hat 9.0:
m4 /usr/share/sendmail-cf/m4/cf.m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
- Red Hat 7.1:
You will find that the files /etc/sendmail.cf and
/usr/share/sendmail-cf/cf/redhat.cf are the same and is the RedHat
default.
cd /usr/share/sendmail-cf/cf/ m4 redhat.mc > /etc/sendmail.cf
Note: the cf.m4 file is represented as an include file in the
sendmail "mc" macro file. (include(`/usr/share/sendmail-cf/m4/cf.m4'))
- Red Hat 6.x:
You will find that the files /etc/sendmail.cf and
/usr/lib/sendmail-cf/cf/redhat.cf are identical and is the RedHat
default.
cd /usr/lib/sendmail-cf/cf/ m4 ../m4/cf.m4 redhat.mc > /etc/sendmail.cf
| Change default Sendmail to allow sendmail to receive mail: |
(Red Hat 7.1-7.3, 8, 9, RHEL4, Fedora Core X)
If you just installed or upgraded to red Hat 7.1 or later and noticed that
your mail server does not recieve email,
it is because of the Red Hat default sendmail configuration.
The default configuration for Red Hat (7.1 or later) sendmail does not allow for the
receiving of mail except from yourself (localhost).
Configure to receive email:
- Backup the files /etc/mail/sendmail.mc and /etc/sendmail.cf
- Edit the file /etc/mail/sendmail.mc and change/comment the line:
From: DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA') To: dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
or delete the line. Sendmail will then use the default which allows it
to receive mail from other systems.
- Optional: Blacklist anti-spam options:
To turn on the anti-spam feature of sendmail add the
directive:
- RFC-Ignorant: (Valid IP address checker)
FEATURE(`dnsbl', `ipwhois.rfc-ignorant.org',`"550
Mail from " $&{client_addr} " refused. Rejected for bad WHOIS info
on IP of your SMTP server - see http://www.rfc-ignorant.org/"')
- Easynet: (open proxy list)
FEATURE(`dnsbl', `proxies.blackholes.easynet.nl',
`"550 5.7.1 ACCESS DENIED to OPEN PROXY SERVER "$&{client_name}" by
easynet.nl DNSBL (http://proxies.blackholes.easynet.nl/errors.html)"',
`')
- ORDB: The Open Relay Database - Site no longer active. (Dec 31, 2006)
FEATURE(`dnsbl', `relays.ordb.org', `"550 Email rejected
due to sending server misconfiguration - see
http://www.ordb.org/faq/\#why_rejected"')
- Spamcop: Spammer blacklist:
FEATURE(`dnsbl', `bl.spamcop.net', `"450 Mail from " $`'&{client_addr} " refused - see http://spamcop.net/bl.shtml"')
- Spamhaus: A spammer blacklist:
FEATURE(`dnsbl',`sbl.spamhaus.org',`Rejected - see http://spamhaus.org/')
- For more info see Mail-Abuse.org: MAPS RBL
FYI: Sendmail Anti-Spam configuration options:
- Turn off relaying (Relaying is denied by default Red Hat configuration)
Do NOT use the following directive: FEATURE(`promiscuous_relay')
- Check sender information:
- Accept mail from your own domain: FEATURE(`relay_entire_domain')
- Accept relay from your mail servers listed in MX record to destination in same domain: FEATURE(`relay_based_on_MX')
- Comment out: dnl # FEATURE(`accept_unresolvable_domains')dnl
(RHEL4)
- Use /etc/mail/access file to deny spammers: FEATURE(`access_db') (See above example)
- Use Realtime Blackhole List: FEATURE(`dnsbl')
- Limit connection rate. Useful against DoS attacks or barrages of spam:
(Available with Sendmail version 8.13 included with RHEL4)
- define(`confMAX_DAEMON_CHILDREN', 12)
- define(`confCONNECTION_RATE_THROTTLE', 3)
- Check headers. Define rule in sendmail.cf.
- Optional: Identify outgoing mail as coming from specified domain:
MASQUERADE_AS(your-domain.com) MASQUERADE_DOMAIN(your-domain.com) MASQUERADE_DOMAIN(virt-domain-1.com) - Add list of other domains supported by your server here if required
MASQUERADE_DOMAIN(virt-domain-2.com) ... .. FEATURE(masquerade_entire_domain) FEATURE(masquerade_envelope)
|
This will override a default of localhost or node.your-domain.com to be
that specified. i.e. your-domain.com. This is so that you do not look like a spammer. Domain localhost is often blocked.
- Generate a new configuration file: m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
- If sending/relaying mail I then recommend you change the line in /etc/sendmail.cf:
Cwlocalhost.localdomain
to your actual fully qualified node name (Cwnode-name.your-domain.com). This will allow you to send mail
without having the mail look like it came from "localhost.localdomain" which is
often blocked by spam filters.
You can also add the statement: DMyour-domain.com
- Restart sendmail: /etc/rc.d/init.d/sendmail restart
Also see: Sendmail.org: Sendmail 8.9.x configuration files
[Potential Pitfall]: To comment out a line use:
The use of only "#" will NOT work.
[Potential Pitfall]: Some distributions have a
default configuration which causes failure. The /etc/hosts.deny
entry ALL:ALL will cause failure to receive mail.
Notes:
| Sendmail config: /etc/mail/sendmail.mc: |
-
| Directive |
Description |
| divert(-1) |
m4 macro directive. File output not diverted |
| OSTYPE(`linux') |
Required before definitions. Definitions tied to OSTYPE. |
| define('VARIABLE','VALUE') |
Change a setting in sendmail.
See list |
| undefine(`UUCP_RELAY') |
Remove UUCP email processing capability |
| undefine(`BITNET_RELAY') |
Remove BITNET addressed email processing |
| FEATURE() |
See list of features |
| FEATURE(redirect) |
Reject redirected email addressed to user@domain.com.REDIRECT
Message returned to announce that one should send email to address defined by alias. |
| FEATURE(always_add_domain) |
Append fully qualified domain name of host to user name. |
| FEATURE(use_cw_file) |
File /etc/sendmail.cw defines alternate names of host. |
| MAILER() |
See list of Mailers |
| MAILER(procmail) |
Defines procmail as the local mail program on server. |
| MAILER(smtp) |
Remote mail program. |
dnl: m4 directive to delete whitespace in input
See Sendmail.org: cf-readme - HTML version (not as up to date)
Examples:
-
| Directive |
Description |
| define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl |
Disable "vrfy" so that spammers cannot "verify" typical email
addresses such as info, admin, staff, etc. |
| define(`ALIAS_FILE', `/etc/aliases')dnl |
This states the obvious. Email address aliases are defined in the file:
/etc/aliases |
| FEATURE(`smrsh',`/usr/sbin/smrsh')dnl |
Execute Sendmail using the Sendmail restricted shell |
Sendmail documentation:
DNS and Sendmail Presentation at LUGFest 2000 - (Star Office 5.2 "sdd" file)
- More configuration insight and information.
Sendmail tools:
- mailq : Print a summary of the mail messages queued for future delivery.
Mail is queued in directory: /var/spool/mqueue/
- mailstats : Display current mail statistics.
Mail statistics stored in file: /var/log/sendmail.st/
- purgestatmailstats : Purge mail statistics.
- praliases : Display current mail aliases
Files used by sendmail for a mail server.
Postfix is infinitely configurable to suit your needs. For
large corporations and
ISPs, Postfix can be configured to use a mySQL backend instead of using
configuration files. Thus a quick insert or delete of a record can add
users, domains, etc. This tutorial configures Postfix to receive email
using local configuration files.
Postfix configuration file: /etc/postfix/main.cf
(Red Hat, Fedora, Suse and Ubuntu!)
Basic:
-
# Common for all Postfix configurations: smtpd_banner = $myhostname ESMTP $mail_name biff = no mailbox_size_limit = 0 recipient_delimiter = + append_dot_mydomain = no mail_spool_directory = /var/mail
|
Allow no relay or outbound SMTP:
-
Add to file main.cf:
relayhost = mynetworks = 127.0.0.1/32 inet_interfaces = all
|
Receive email for local users: (multiple domains can be
specified but an email sent to Michael is not distinguished between
domains. One Michael for all domains.)
-
Add to file main.cf:
myhostname = mail.megawebhost.com mydomain = megawebhost.com alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases # All domains listed in mydestination are subject to /etc/aliases mapping. # Do not list domains to be used with virtual hosts! mydestination = $mydomain $myhostname alternateName1 localhost.localdomain localhost
|
Virtual host:
(receive email for multiple domains. Users distinguished between domains.
Email recipient ed@megacorp.com is different than ed@charity.com)
Add this definition to support virtual hosts:
-
Add to file main.cf:
# After edting file /etc/postfix/valias.txt # run command: postmap /etc/postfix/valias.txt # to create hash db file. virtual_alias_maps = hash:/etc/postfix/valias.txt # Use local unix account mailboxes for these domains virtual_alias_domains = /etc/postfix/vhosts.txt
|
Add anti-SPAM measures:
-
Add to file main.cf:
# Place all of the restrictions into the smtpd_recipient_restrictions: smtpd_client_restrictions = smtpd_helo_restrictions = smtpd_sender_restrictions = smtpd_helo_required = yes strict_rfc821_envelopes = yes disable_vrfy_command = yes unknown_address_reject_code = 554 unknown_hostname_reject_code = 554 unknown_client_reject_code = 554
smtpd_recipient_restrictions = # permit_mynetworks, # permit_sasl_authenticated, reject_unauth_destination, reject_invalid_hostname, reject_unauth_pipelining, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, # check_client_access hash:/etc/postfix/maps/access_client, # check_helo_access hash:/etc/postfix/maps/access_helo, # check_sender_access hash:/etc/postfix/maps/access_sender, check_sender_access hash:/etc/postfix/access_sender, # check_recipient_access hash:/etc/postfix/maps/access_recipient, reject_rhsbl_client blackhole.securitysage.com, reject_rhsbl_sender blackhole.securitysage.com, # reject_rbl_client relays.ordb.org, THIS SITE IS RETIRED
reject_rbl_client blackholes.easynet.nl,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client proxies.blackholes.wirehub.net,
reject_rbl_client bl.spamcop.net,
reject_rbl_client zen.spamhaus.org,
reject_rbl_client opm.blitzed.org,
reject_rbl_client dnsbl.njabl.org,
reject_rbl_client list.dsbl.org,
reject_rbl_client multihop.dsbl.org,
reject_rbl_client dul.dnsbl.sorbs.net,
permit
smtpd_data_restrictions =
reject_unauth_pipelining,
permit
|
Note:
- SpamHaus combines three blackhole lists: Exploits block list (exploited systems): xbl.spamhaus.org, Policy block list (non-MTA IP): pbl.spamhaus.org and Spamhaus block list: sbl.spamhaus.org, into one "zen.spamhaus.org".
File: /etc/postfix/vhosts.txt
-
megacorp.com charityX.org productX.com
|
Domains listed here should NOT be listed with the "mydestination" directive.
File: /etc/postfix/valias.txt
-
This file maps email addresses to local user names:
joe@megacorp.com userjoe joe@charityX.org userjoseph info@productX.com userjoe
|
Upon creation or change, create the db file: postmap /etc/postfix/valias.txt
This creates the file /etc/postfix/valias.txt.db
File: /etc/postfix/access_sender
-
0.0.0.0/8 REJECT Domain MX in broadcast network 10.0.0.0/8 REJECT Domain MX in RFC 1918 private network 127.0.0.0/8 REJECT Domain MX in loopback network 169.254.0.0/16 REJECT Domain MX in link local network 172.16.0.0/12 REJECT Domain MX in RFC 1918 private network 192.0.2.0/24 REJECT Domain MX in TEST-NET network 192.168.0/16 REJECT Domain MX in RFC 1918 private network 224.0.0.0/4 REJECT Domain MX in class D multicast network 240.0.0.0/5 REJECT Domain MX in class E reserved network 248.0.0.0/5 REJECT Domain MX in reserved network
|
Postfix configuration tutorials:
More examples:
| Postfix and Mailman email list server integration and configuration: |
Postfix can be configured three different ways to interface with Mailman.
The following uses the /etc/aliases file for this configuration.
Requires the following main.cf configuration:
alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases
File: /etc/aliases
-
# # regular aliases # info: user1 joe: user1 theadore: ted # # mailman aliases # mailman: "|/var/mailman/mail/mailman post mailman" mailman-admin: "|/var/mailman/mail/mailman admin mailman" mailman-bounces: "|/var/mailman/mail/mailman bounces mailman" mailman-confirm: "|/var/mailman/mail/mailman confirm mailman" mailman-join: "|/var/mailman/mail/mailman join mailman" mailman-leave: "|/var/mailman/mail/mailman leave mailman" mailman-owner: "|/var/mailman/mail/mailman owner mailman" mailman-request: "|/var/mailman/mail/mailman request mailman" mailman-subscribe: "|/var/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/var/mailman/mail/mailman unsubscribe mailman" # megacorp: "|/var/mailman/mail/mailman post megacorp" megacorp-admin: "|/var/mailman/mail/mailman admin megacorp" megacorp-bounces: "|/var/mailman/mail/mailman bounces megacorp" megacorp-confirm: "|/var/mailman/mail/mailman confirm megacorp" megacorp-join: "|/var/mailman/mail/mailman join megacorp" megacorp-leave: "|/var/mailman/mail/mailman leave megacorp" megacorp-owner: "|/var/mailman/mail/mailman owner megacorp" megacorp-request: "|/var/mailman/mail/mailman request megacorp" megacorp-subscribe: "|/var/mailman/mail/mailman subscribe megacorp" megacorp-unsubscribe: "|/var/mailman/mail/mailman unsubscribe megacorp" #
|
These entries are generated by Mailman. See the
YoLinux Mailman tutorial.
Links on Postfix and Mailman integration:
(Three different methodologies)
- Mailman configuration: part 1 -
part2 -
part3 (virtual hosts)
- Use regular expression in configuration: Nezo.net: example and tutorial.
Example configuration including apache
- Python script to glue Postfix and Mailman together for
domain "lists.example.com". This method does not require the creation
of aliases.:
This is a sample of the dialog an e-mail client makes when connecting to
an SMTP server for sending mail:
telnet server-name 25 - SMTP communicates on port 25. See: /etc/services
HELO your-domain - This identifies the source of the mail.
HELP - List the SMTP commands that are supported. (Included FYI and not part of a typical dialog)
MAIL FROM: your-email-address
RCPT TO: recipient-email-address
DATA - End of DATA section is punctuated with a single dot on it's own line.
Subject: E-mail-Subject
Text of e-mail goes here
. - The single dot
QUIT
SMTP return codes let the e-mail client know if all went well.
See: RFC 822 for more information.
| Mail headers and tracking a spammer: |
-
The information within the "[ ]" is fairly reliable. Everything else can be
set in the MTA configuration.
Links:
- RFC 2645 - ON-DEMAND MAIL RELAY (ODMR) SMTP with Dynamic IP Addresses
- RFC 2554 - SMTP Service Extension for Authentication
- RFC2505 - Anti Spam
- RFC 2487 - SMTP Service Extension for Secure SMTP over TLS
- RFC 2442 - Batch SMTP Media Type
- RFC 2197 - SMTP Service Extension for Command Pipelining
- RFC 2034 - SMTP Service Extension for Returning Enhanced Error Codes
- RFC 1985 - SMTP Service Extension for Remote Message Queue Starting
- RFC 1891 - SMTP Service Extension for Delivery Status Notifications
- RFC 1870 - SMTP Service Extension for Message Size Declaration
- RFC 1869 - SMTP Service Extensions
- RFC 1846 - SMTP 521 Reply Code
- RFC 1845 - SMTP Service Extension for Checkpoint/Restart
- RFC 1830 - SMTP Service Extensions for Transmission of Large and Binary MIME Messages
- RFC 1652 - SMTP Service Extension for 8bit-MIMEtransport
- RFC 1428 - Transition of Internet Mail from Just-Send-8 to 8bit-SMTP/MIME
Books on internet email programming: (Amazon)
Books: |
-
 |
"Sendmail"
by Bryan Costales, Eric Allman
ISBN #1565928393, O'Reilly & Associates 3 edition (December, 2002)
The most comprehensive book on Sendmail.
|
|
 |
"Sendmail Cookbook"
by Craig Hunt
ISBN #0596004710, O'Reilly & Associates 1 edition (December, 2003)
|
|
 |
"Sendmail Desktop Reference"
by Bryan Costales, Eric Allman, Gigi Estabrook (Editor)
ISBN #1565922786, O'Reilly & Associates
|
|
 |
"Sendmail: Theory and Practice"
by Frederick M. Avolio, Paul Vixie (Contributor)
ISBN #1555581277, Butterworth-Heinemann
|
|
 |
"Linux Sendmail Administration"
by Craig Hunt
ISBN #0782127371, Sybex
|
|
 |
"Postfix"
by Richard Blum
ISBN #0672321149, Sams
|
|
 |
"Linux Email"
by Black, Koetter, Hilderbrandt, McDonald, Rusenko and Taylor.
ISBN #190481137X, Packt
I reviewed this book and found it to be a very
complete discussion with examples of the installation, configuration,
integration and use of Postfix, Courier POP/IMAP, SquirelMail,
SpamAssassin, ClamAV and Cyrus SASL. It is concise and to the point.
How to configure a Linux email server for the most popular and useful
server configurations. This book is specific to the components listed
and will get you up and running fast.
|
|
 |
"Exim"
by Philip Hazel
ISBN #0596000987, O'Reilly & Associates
|
|
 |
"An Introduction to Qmail"
by Dave Sill
ISBN #1893115402, APress
|
|
 |
"Running qmail"
by Rich Blum, Richard Blum
ISBN #0672319454, Sams
|
|
 |
"Hewlett-Packard Announces Last Call for OpenMail Customers"
ASIN #B00005MBR4, IDC
Requires Acrobat PDF reader.
PDF document may be purchased through Amazon. (Expensive)
|
|
 |
"Stopping Spam"
by Alan Schwartz, Debby Russell (Editor), Simson Garfinkel
ISBN #156592388X, O'Reilly and Associates
|
|
 |
"Removing the Spam : Email Processing and Filtering"
by Geoff Mulligan
ISBN #0201379570, Addison-Wesley Networking Basics Series
|
|
|