logfile "/home/mjt/.mailfilter-log" #import SENDER #import RECIPIENT #log "$SENDER $RECIPIENT" # I want this logged ADDRLIST="" foreach /^To:.+!.*$/ { foreach getaddr($MATCH) =~ /.+/ { ADDR=getaddr($MATCH) # I've found those delimiting pipes to rule log "To: |$ADDR|" } } # Maybe we should move to spamd and spamc... xfilter "/usr/bin/spamassassin -P" if ( /^X-Spam-Flag: *YES/ ) { to mail/spam } # First by List-Id # This is most important if (/^List-Id.*eoc.liw.iki.fi/) { to mail/eoc } if (/^List-Id.*datateam.lists.nysv.org/) { to mail/datateam } if (/^List-Id.*courier-maildrop.lists.sourceforge.net.*/) { to mail/maildrop } # Second by subject # This is to prevent system checks from going to the owners folder if (/^Subject:.*nysv.*system check/) { to mail/syscheck } # Third by To/Cc if (/^(To|Cc):.+owners@nysv.org/ | /^(To|Cc):.+webmonkey@nysv.org/ | /^(To|Cc):.+postmaster@nysv.org/) { to mail/nysvowners } # Then by sender if (/^From:.*tribe.net/) { to mail/tribe } if (/^From:.*maxbarry\.com/) { to mail/maxbarry } if (/^From:.*ezydvd.com.au/) { to mail/ezydvd } if (/^From:.*dvdboxoffice.com/) { to mail/dvdboxoffice }