Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: converted to 1.6 markup

...

If SpamAssassin only adds some mail headers (like X-Spam-StatusFlag) to tag spam and you don't want the subject to be mangled, Outlook Express cannot filter spam to a separate folder. A nice idea from Matt (http://article.gmane.org/gmane.mail.spam.spamassassin.general/52651) a person called Matt was to change the mail's priority to low, because this is something that OE can use for filtering. This can be done using procmail, as shown scripted by DanKohn (http://article.gmane.org/gmane.mail.spam.spamassassin.general/52652). This or using maildrop as scripted by Kai Bolay.

This procmail version has been updated to first remove low priority headers from messages before filtering:

No Format


# Remove low priority headers from all mail by piping through formail.
# If end-users filter on low priority headers, this will avoid
# false positives.  This is a procmail "or" rule requiring any
# of the threefour headers to trigger.

:0fw: formail1.lock
* ^X-Priority: 5|\
  ^Priority: Non-Urgent|\
  ^Importance: low|\
  ^X-MSMail-Priority: Low
| formail -I "X-Priority" -I "Priority" -I "Importance" -I "X-MSMail-Priority"

:0fw: spamassassin.lock
* < 256000
| spamassassin

# Pipe likely spam through formail adding
# the threefour headers that represent low priority

:0fw: formail2.lock
* ^X-Spam-LevelFlag: \*\*\*\*\*YES
| formail -I "X-Priority: 5" -I "Priority: Non-Urgent" -I "Importance: low" -I "X-MSMail-Priority: Low"

The same with maildrop:

No Format

if ($SIZE < 256000)
{
   exception {
     xfilter "spamassassin"
   }
}

if (/^X-Spam-Flag: YES$/)
{
   # add the four headers that represent low priority
   exception {
     xfilter 'reformail -I "X-Priority: 5" \
                        -I "Priority: Non-Urgent"
                        -I "Importance: low" \
                        -I "X-MSMail-Priority: Low"'
   }
}
else
{
   if (/^X-Priority: 5$/ || \
       /^Priority: Non-Urgent$/ || \
       /^Importance: low$/ || \
       /^X-MSMail-Priority: Low$/)
   {
     # Remove low priority headers by piping through reformail.
     # If end-users filter on low priority headers, this will avoid
     # false positives.
     exception {
       xfilter 'reformail -I "X-Priority:" \
                          -I "Priority:" \
                          -I "Importance:" \
                          -I "X-MSMail-Priority:"'
   }
}