General overview

Pinjo is a mailfilter that is placed in front of your mailserver. Actually you could describe it as mailserver without mailboxes; as so called mailproxy. After a significant number of checks the mail is forwarded to your own mailserver.

After a mailserver connects to Pinjo, the following flow will be will be performed (assuming that all options in Pinjo are enabled)

  • Blacklisting
  • Anti relaying
  • Viruschecking
  • Heurastic analysis
  • Marking message
  • Determine destination
  • Blacklisting

    the first thing done, is checking if the sending mailserver is blacklisted.
    A lot of spam is sent from known mailservers. These mailservers are listed on so called DNS based blacklists. If a server is listed Pinjo rejects the session or marks the message as spam immediately (depending on your settings). Blacklisted mailservers can be overridden in the ‘Allow blacklisted hosts’. This server will not be checked for blacklisting.

    Anti relaying

    To prevent being used as spamserver, Pinjo can prevent relaying via your mailserver. If relaying is detected, the message will be refused and a message will be sent back to the sending mailserver.

    Viruschecking

    If the message is received completely, the message will be scanned for viruses.
    If a virus is detected the message is refused and a message is returned to the sending mailserver.

    Heurastic analysis

    The heurastic analysis uses the Spamassassin logic to determine if a message is spam or not. Spamassassin tests the message on numerous items. All those tests result in a score. The resulting score is the probability of the message being spam. The higher the score, the more likely the message is spam. Scores can also have a negative value, making the message almost certainly non-spam

    Marking message

    After all the tests have completed, the message will be marked. To the message some headerlines are added. These lines are invisible for the user an can be shown upon request. Headerlines added:

    X-Server
    Contains the Pinjo version used for checking.
    X-Spam-Status
    The result of the checking. The value can be Positive for spam and Negative for non-spam.
    X-Spam-Score
    The results of the heurastic analysis are stored here. It will show the score and positive tested values.

    Depending of the settings, the subject of the message can also be modified.

    Determine destination

    Dependant on the settings the message can be dropped now if spam, or sent to the next mailserver. If maildistributing is enabled the message receivers are analysed and the message is forwarded to the appropiate mailserver(s).