The project operates the sendmail SMTP server provided as part of the server operating system. The SMTP server receives mail messages and processes them according to the rules in its configuration files. When a mail message addressed to a local address, its rules instruct it to use /usr/bin/procmail as the local delivery agent. The local delivery agent submits the message to our spam analyst, “spamassassin”, for tagging. The spam analyst adds headers to the message. The local delivery agent gets the message back, inspects the score header added by spamassassin, and delivers the message accordingly. When the SMTP server receives a mail message addressed to a remote address, its rules instruct it to relay the message to the remote host if, and only if, the origin of the message is a local host.
The sendmail configuration files are in /etc/mail. The main one is sendmail.cf. It can be edited indirectly via /etc/mail/sendmail.mc. Thereafter, the changes are incorporated into the configuration file with the command “make all -C /etc/mail”.
The procmail configuration consists of “recipes” in /etc/procmailrc.
There are numerous spamassassin configuration files. In addition to central files, each user may have a user-specific configuration file, .spamassassin/user_prefs, located in the user’s home directory.
Each user has a spool file in /var/mail. This is the user’s standard collection of messages that have arrived addressed to the user (“inbox”).
Each user also has other spool files in the “mail” directory in the user’s home directory. The user controls which such spool files exist.
The mail filtering system also determines which spool file a message is delivered into. Each user can subsequently move messages from one spool file to another.