Email Support

Discussion

Summary: Email Support (eg, filtering, transport) subsystem

This subsystem handles email transport and filtering issues. It is distributed between two machines, easing the administration of each one.

Overview

Incoming SMTP connections are routed by the firewall to g3po, our email "toaster".

g3po runs Postfix to pre-process incoming mail:
  • local recipient checking
  • content filtering and tagging with SpamAssassin
  • deleted, divert, or deliver to goto

On goto, email is further filtered
  • via Procmail
  • via SpamAssassin (iff missed on g3po)
then distributed to user mailboxes.

Clients: Users "pick up" mail via POP for further delivery to client machines.

Outbound email from local (in general) clients is transmitted to the Internet (via SMTP) through goto.

mail flow boxes.png

g3po Processing

g3po's email-related files and directories are stored as described here. Most of the working files reside in /usr/local/mail/, hereafter referred to as ULM for brevity.

  • All processing is handled via Postfix.

  • Recipient check
    Postfix checks the headers on incoming messages. If the recipient does not match a local account, the message is rejected (ie, the connection is dropped and the message body is never accepted). This simple strategy eliminates 99% of our incoming email!
Nov 25 20:35:14 g3po postfix/smtpd[26273]: NOQUEUE: reject: RCPT from start.fetter.org[66.92.188.65]: 550  <frobozz@philtres.com>: Recipient address rejected: User unknown in virtual alias table; from=<rdm_test@fetter.org>  to=<frobozz@philtres.com> proto=ESMTP helo=<fetter.org>

  • Content filter
    Messages are passed through a Postfix content filter, as defined in /etc/postfix/master.cf. Our content filter is /usr/local/bin/spamachk.

  • Spam Tagging
    spamchk passes each message through SpamAssassin (local configuration file: ULM/spamassassin/local.cf). SA tags each message with various headers of known format, but takes no other action (eg, deletion).

  • Post-SA Processing
    The spamchk script disposes of the messages, based on the "spam level" (SL) as tagged by SpamAssassin.
    • Messages with SL >= 15 are deleted.
    • Messages with SL >= 10 are diverted to ULM/spam/YYYYMMDD, where they remain for a few days, after which they are archived to ULM/spam/LastWeek/
    • Messages which remain are delivered (ie, forwarded) to goto via address forwarding defined in /etc/aliases

goto Processing

goto's email-related files and directories are stored as described here. Most of the working files reside in /usr/local/mail/, hereafter referred to as ULM for brevity.

  • All processing is handled via Postfix. Nothing is deleted.

  • Procmail
    Postfix filters each received message through Procmail (usr/local/mail/).

  • Spam Processing
    • Messages with SL >= 8 are diverted to ULM/spam/username, where they remain for a few days, after which they are archived to ULM/spam/LastWeek/
    • Messages which remain continue through processing.

  • White-listing
    Message headers (X-Sender, Return-Path, Reply-to) are compared to the local whitelist.
    Matches are tagged.

  • Black-listing
    Message headers (Return-Path, Reply-to, From) are compared to the local blacklist.
    Matches are tagged.

  • Messages which were not diverted as Spam are deleted.

Context and Navigation

    The content of this section is automatically generated, based on TWiki form data stored in the pages of this web. See GmIntro for more information.

    Each "disclosure triangle" below indicates the display state of its content (ie, hidden or shown ). Click the triangle to toggle the display state.

    V email support.png

    "}%

    Number of topics: 0

    "}%

    Number of topics: 0


This wiki page is maintained by Rich Morin, an independent consultant specializing in software design, development, and documentation. Please feel free to email comments, inquiries, suggestions, etc!

Projects/GraphMagic.ViewForm edit

View Title Email Support
View Summary Email Support (eg, filtering, transport) subsystem
ViewName Email Support
View Precis This subsystem handles email transport and filtering issues.
It is distributed between two machines,
easing the administration of each one.
NodeOmits
Topic revision: r15 - 01 Dec 2008, RichMorin
This site is powered by Foswiki Copyright © by the contributing authors. All material on this wiki is the property of the contributing authors.
Foswiki version v2.1.6, Release Foswiki-2.1.6, Plugin API version 2.4
Ideas, requests, problems regarding CFCL Wiki? Send us email