Delete mail with known spam content

cd /usr/spool/postfix/deferred
text="OBS: Este cartão tem validade de apenas 15 dias, então não esqueça de ler"

for i in `find . -type f -print | xargs grep -l "$text" | sed -e 's|.*/||'`
do      postsuper -d $i
        #postsuper -h $i
done

or

for i in `find /var/spool/postfix/deferred/ -type f -print`;do if postcat $i|grep -q "some text from postcat output" ;then postsuper -h `basename $i`;else echo "$i ok";fi;done

Identify spam

List subjects

for i in `find /var/spool/postfix/hold -type f`;do echo -n "$i    ";postcat $i|egrep "^Subject";done

List histogram of message sizes

for i in `find /var/spool/postfix/hold -type f`;do postcat $i|egrep "^message_size:";done|cut -c15-30|sort|uniq -c|sort -n

Greppable mailq output

(everything in one line)

mailq|perl -ne 'if (length($_)>1){chop;}print;'

Examine Hold queue

# postreview - review HOLD queue
# by Wietse Venema
# modified by Jorey Bump

PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin

mailq | sed -n '
     /^\([^ ]*\)!.*/{
         s//\1/
         p
         d
     }
' | while read id
do
     postcat -q $id | less
     echo -n "Choose action: Delete (d), Release (r), Hold (enter) "
     (read ans;
     case $ans in
         [Dd]*) postsuper -d $id;;
         [Rr]*) postsuper -H $id;;
         *) echo "Message $id left in HOLD queue.";;
     esac) </dev/tty
     sleep 1
done 

Postfix (last edited 2010-12-23 08:17:53 by dz)