I'm having very good results with this rule. I'm scoring it at 5 with no
false positives. The high negative score for a legitimate looking List-id
will file it into my List/Unknown folder for new lists and for any spammers
trying to abuse this, so it's not a problem for my personal filtering.
# a properly-formatted List-id looks like a correspondent
# (to/from) header but @ replaced by dot
# ie. list-name.domain
header __KP_LIST_ID_DOMAIN_IN_BRACKETS List-id =~
/<([\w-]+)?(\.[\w-]+)+>/
describe KP_LIST_ID_DOMAIN_IN_BRACKETS List-id has domain in angle brackets
meta KP_LIST_ID_DOMAIN_IN_BRACKETS __KP_LIST_ID_DOMAIN_IN_BRACKETS
score KP_LIST_ID_DOMAIN_IN_BRACKETS -15.0
describe KP_LIST_ID_IMPROPER_FORMAT List-id has improper format
meta KP_LIST_ID_IMPROPER_FORMAT __HAS_LIST_ID &&
!__KP_LIST_ID_DOMAIN_IN_BRACKETS
score KP_LIST_ID_IMPROPER_FORMAT 5.0