I am using DCC-1.3.23 to do greylisting (dccd greylisting server with the dccm sendmail milter). As a result DCC checksums are performed prior to the Spamassassin 3.1.0 scan. Therefore rather than repeat the DCC checks in Spamassassin I have constructed a custom ruleset to perform the check off of the X-DCC header added by DCC. Unfortunately the actually header is of the form X-DCC-*-Metrics: where the "*" can be one of a myriad of server names (e.g. X-DCC-EATSERVER-Metrics:, X-DCC-NIET-Metrics:, etc.). As I can not know all the possible public DCC servers I can not just enumerate the servers by listing specific rules for each unique header. The best I could come up with is a generic header rule:

header    X_DCC_SCORE                  ALL =~ /^.*bulk Body=/s
describe  X_DCC_SCORE                  DCC bulk score indicates spam
score     X_DCC_SCORE                  4.0

which looks for a unique string found in a X-DCC-*-Metrics: header indicating the message is spam. Unfortunately this test is done over all headers when the reality is that there will be only a single header of the form X-DCC-*-Metrics:. Is there a way to write the rule to check just headers of the form X-DCC-*-Metrics: or does the ALL rule do it as efficiently as it can possibly be done? The only other thing I can think to do is to rewrite X-DCC-*-Metrics: to something generic (e.g. X-DCC-Metrics:) in the MTA and then rewrite my rule to use the header X-DCC-Metrics: rather than ALL.

Other suggestions or insight are greatly appreciated.

--
Paul ([EMAIL PROTECTED])

Reply via email to