Linux Magic SMTP Daemon
-----------------------

The Linux Magic SMTP Daemon (magic-smtpd) is a drop in replacement for
the qmail-smtp program that provides spam reduction services at both
the SMTP and message header and body level.

The main advantage of the Magic SMTP daemon over qmail-smtpd is it's
ability to verify the existence of users before passing the mail into
the qmail subsystem, and if the user is found not to exist an error code
is returned to the sending client program.  The user existence code
is similar to the qmail delivery system and will handle system users,
aliases and virtual domains.

Another feature is RCPT rate throttling, which after a configurable
number of SMTP RCPT commands, will cause the SMTP daemon to delay any
processing using a sleep() command.  This is to reduce overall system
load on highly loaded servers which will be handling a large number of
simultaneous connections, and will slow down spammers which attempt to
send RCPT to's as fast as possible to an unlucky server.

As well, the magic-smtpd daemon handles Spam Checking at the Server level
before it has to be processed by the mail server.  This is completely
configurable, at both the server level, and the individual email  address
level.  And, in future releases, it will be shipping with magic-local, a
qmail-local replacement that completes the Spam checking capability at
the mailbox, and allows for even better controls.

All added features are configurable using environment variables.

See the doc directory for design documents and other relevant information.

Please note that this is an beta release and as such, may still have
bugs and anomalies, so keep alert to updates and notices, and judge the
use of this software in a production server accordingly.

For a list of known bugs and incompatibilities
with qmail please see the ISSUES file.

Requirements
------------

To compile the program you will need to have the following programs
installed and setup correctly:

gcc (2.95.* or higher)
GNU make
GNU sed

The following libraries are required:

libpq - PostresSQL library (undefine USE_LM_DATABASE at top of
Makefile to be able to compile without db support
 *RECOMMENDED FOR OPEN SOURCE VERSION* )

libresolv - included with most distributions
libcrypt - optional on most distributions

****************
*IMPORTANT NOTE*
****************

The postgres library dependency will be removed in the future when
time permits.  You will need it to build the program, but don't have
to have a db installed to run the program if you don't change the
compat_type control file from it's default (0) qmail compatibility.
This will use the file system based checks as opposed to the database
checks and will work will standard qmail installations.

To run the program you must have:

a working qmail setup
tcpserver set up to run qmail-smtpd for each incoming connection

Other super server programs may also work but have not been tested.

Installation
------------

Please see the file INSTALL located in the root source directory for
compilation, installation and run time configuration instructions.

Web Resources
-------------

Linux Magic Mail Server Homepage
http://www.linuxmagic.com/opensource/magicmail/

Linux Magic Homepage
www.linuxmagic.com

Linux Magic MagicMail Commercial Version
http://magicmail.linuxmagic.com

Linux Magic Mailing Lists
magicmail-users@linuxmagic.com

RFC 821 - Simple Mail Transfer Protocol
http://www.ietf.org/rfc/rfc821.txt

RFC 2821 - Simple Mail Transfer Protocol Update
http://www.ietf.org/rfc/rfc2821.txt

RFC 2505 - Anti-Spam Recommendations for SMTP MTAs
http://www.ietf.org/rfc/rfc2505.txt

RFC 2554 - SMTP Service Extension for Authentication
http://www.ietf.org/rfc/rfc2554.txt

Qmail Home Page
http://www.qmail.org

tcpserver home page
http://cr.yp.to/ucspi-tcp/tcpserver.html
