I'm by no means a procmail expert, but this seems to work (though [Dovecot] gets put before the Re:)
This is better for procmail (doesn't change Subject if [Dovecot]
already there) :0 fhw
- ^List-Id:.*Dovecot Mailing List { :0
The first one is not a filter, and we don't wanna wait for it either. And all this unnecessary cascading of recipes, to get an AND, which is default with multiple conditions... See, that's why people perceive procmail syntax as hard to understand. ;)
# Force-inject [Dovecot] Subject tagging, just because I insist on the # list traffic hitting my Inbox, and am unwilling to filter it.
:0 fw
- ^List-Id: .*Dovecot Mailing List
- ! ^Subject: .*\[Dovecot\]
- ^Subject: \/.* | formail -I "Subject: [Dovecot] ${MATCH}"
-- char *t="\10pse\0r\0dtu\0.@ghno\x4e\xc8\x79\xf4\xab\x51\x8a\x10\xf4\xf4\xc4"; main(){ char h,m=h=*t++,*x=t+2*h,c,i,l=*x,s=0; for (i=0;i<l;i++){ i%8? c<<=1: (c=*++x); c&128 && (s+=h); if (!(h>>=1)||!t[s+h]){ putchar(t[s]);h=m;s=0; }}}