# .mailfilter - rules for maildrop HOME="/home/manu" MAILDIR="$HOME/Mail/imap" MAILDIRMAKE="/usr/bin/maildirmake" VERBOSE=9 logfile "/home/manu/var/logs/maildrop/maildrop.log" ### Openics lists if (/^List-Id:.*<(.*)\.lists\.openics\.org>/) { exception { `test -d $MAILDIR/.rmll.$MATCH1` if( $RETURNCODE == 1 ) `$MAILDIRMAKE $MAILDIR/.openics.$MATCH1` to $MAILDIR/.openics.$MATCH1 } } ### RMLL Lists (2009 and previous) if (/^X-BeenThere:\s*(.*)@rmll\.info/) { exception { `test -d $MAILDIR/.rmll.09.$MATCH1` if( $RETURNCODE == 1 ) `$MAILDIRMAKE $MAILDIR/.rmll.09.$MATCH1` to $MAILDIR/.rmll.09.$MATCH1 } } if (/^From:.*reservation@/ || /^From:.*tpeweb@paybox\.com/ || /^From:.*noreply@ogone\.com/) { to $MAILDIR/.rmll.resa } ### RMLL lists if (/^List-Id:.*<(.*)\.listes\.rmll\.info>/) { exception { `test -d $MAILDIR/.rmll.$MATCH1` if( $RETURNCODE == 1 ) `$MAILDIRMAKE $MAILDIR/.rmll.$MATCH1` to $MAILDIR/.rmll.$MATCH1 } } ### RMLL lists - 2010 if (/^List-Id:.*<(.*)\.listes20(.*)\.rmll\.info>/) { exception { `test -d $MAILDIR/.rmll.$MATCH2.$MATCH1` if( $RETURNCODE == 1 ) `$MAILDIRMAKE $MAILDIR/.rmll.$MATCH2.$MATCH1` to $MAILDIR/.rmll.$MATCH2.$MATCH1 } } if (/^To:.*benevoles@rmll\.info/) { to $MAILDIR/.rmll.10 } ### RMLL 2011 if (/^List-Id:.*org2011.2011.rmll.info/) { to $MAILDIR/.rmll.11.org } ### Debian Lists if (/^List-Id:\s*/) { exception { `test -d $MAILDIR/.debian.$MATCH1` if( $RETURNCODE == 1 ) `$MAILDIRMAKE $MAILDIR/.debian.$MATCH1` to $MAILDIR/.debian.$MATCH1 } } if (/^List-Id:.*/) { to $MAILDIR/.debian.backports } ### Debian France Lists if (/^List-Id:.*<(.*)\.france\.debian\.net>/) { to $MAILDIR/.debian-france.$MATCH1 } ### Debian Alioth Projects if (/^List-Id:.*<(.*)\.lists\.alioth\.debian\.org>/) { exception { `test -d $MAILDIR/.debian.alioth.$MATCH1` if( $RETURNCODE == 1 ) `$MAILDIRMAKE $MAILDIR/.debian.alioth.$MATCH1` to $MAILDIR/.debian.alioth.$MATCH1 } } ### Village associatif (Solution Linux) if (/^List-Id:.*<(.*)\.lists\.parinux\.org>/) { to $MAILDIR/.groups.$MATCH1 } ### FrNog if (/^List-Id: .*frnog=FRnOG\.org/ || /^List-Id:.*/) { to $MAILDIR/.groups.frnog } ### Hurd France Lists if (/^List-Id:.*/) { to $MAILDIR/.groups.hurd-fr } ### Asyd Lists if (/^List-Id:.*mailman\.asyd\.net>/) { to $MAILDIR/.logs } if (/^List-Id:.*<(.*)\.asyd\.net>/) { to $MAILDIR/.groups.asyd_$MATCH1 } ### LabX lists if (/^List-Id:.*/) { to $MAILDIR/.labx } ### ABUL Lists if (/^List-Id:.*<(.*)\.listes\.abul\.org>/ || /^List-Id:.*<([^\.]*)\.abul\.org>/) { exception { `test -d $MAILDIR/.abul.$MATCH1` if( $RETURNCODE == 1 ) `$MAILDIRMAKE $MAILDIR/.abul.$MATCH1` to $MAILDIR/.abul.$MATCH1 } } ### Linux-Nantes Lists if (/^List-Id:.*<(.*)\.linux-nantes\.org>/) { exception { `test -d $MAILDIR/.linux-nantes.$MATCH1` if( $RETURNCODE == 1 ) `$MAILDIRMAKE $MAILDIR/.linux-nantes.$MATCH1` to $MAILDIR/.linux-nantes.$MATCH1 } } if (/^List-Id:.*/) { to $MAILDIR/.linux-nantes.linux-nantes } ### Sud-Ouest.org Lists if (/^List-Id:.*<(.*)\.listes\.sud-ouest\.org>/) { exception { `test -d $MAILDIR/.sud-ouest.$MATCH1` if( $RETURNCODE == 1 ) `$MAILDIRMAKE $MAILDIR/.sud-ouest.$MATCH1` to $MAILDIR/.sud-ouest.$MATCH1 } } ### SYMPA Lists if (/^List-Id:.*/) { exception { `test -d $MAILDIR/.sympa.$MATCH1` if( $RETURNCODE == 1 ) `$MAILDIRMAKE $MAILDIR/.sympa.$MATCH1` to $MAILDIR/.sympa.$MATCH1 } } ### Aquilenet Lists if (/^List-Id:.*<(.*)\.listes\.aquilenet\.fr>/) { exception { `test -d $MAILDIR/.aquilenet.$MATCH1` if( $RETURNCODE == 1 ) `$MAILDIRMAKE $MAILDIR/.aquilenet.$MATCH1` to $MAILDIR/.aquilenet.$MATCH1 } } ### FDN Lists if (/^List-Id:.*<(.*)\.fdn\.fr>/) { exception { `test -d $MAILDIR/.fdn.$MATCH1` if( $RETURNCODE == 1 ) `$MAILDIRMAKE $MAILDIR/.fdn.$MATCH1` to $MAILDIR/.fdn.$MATCH1 } } ### Aquitaine libre lists if (/^List-Id:.*<(.*)\.listes\.aquitaine-libre\.info>/) { exception { `test -d $MAILDIR/.groups.aquitaine-libre_$MATCH1` if( $RETURNCODE == 1 ) `$MAILDIRMAKE $MAILDIR/.groups.aquitaine-libre_$MATCH1` to $MAILDIR/.groups.aquitaine-libre_$MATCH1 } } ### WeeChat Lists if (/^List-Id:.*weechat-(.*)\.nongnu\.org/ || /^To:.*weechat-(.*)\.nongnu\.org/) { to $MAILDIR/.weechat.$MATCH1 } ### KDE projects lists if (/^List-Id:.*<(.*)\.kde\.org>/) { exception { `test -d $MAILDIR/.kde.$MATCH1` if( $RETURNCODE == 1 ) `$MAILDIRMAKE $MAILDIR/.kde.$MATCH1` to $MAILDIR/.kde.$MATCH1 } } ### Sympa Stuff if (/^From:.*SYMPA/ || /^To:.*sympa-request@.*$/) { to $MAILDIR/.logs } ### Logs Stuff if (/^From:.*logcheck@/ || /^Subject:.*rkhunter/ || /^Subject:.*Logwatch for/ || /^From:.*Cron Daemon/ || /^Subject:.*shinji\..* run output/) { to $MAILDIR/.logs } ### AntiSpam if (/^X-Spam-Status: YES/) { to $MAILDIR/.Spam } if (!/^From:.*/ || /^Subject:.*\[\*\*SPAM\*\*\].*/) { to $MAILDIR/.Spam } ########### TRASH ############### if (/^From:.*(mailandgo\.fr|optingo\.net|refleximmo\.com).*$/) { to $MAILDIR/.Trash } if (/^X-Bounce-Tracking-Info:.*/) { to $MAILDIR/.Trash } ########### INBOX ############### to $MAILDIR/