Using both dccifd and dccm, or dccm for greylisting only

Vernon Schryver
Fri Oct 14 16:06:25 UTC 2005

> From: "Philip Hachey" <>

> My initial hope was that if dccm is working at the MTA (sendmail) level 
> and adding X-DCC headers, then SpamAssassin, when it gets its turn, would 
> recognize the header and not bother querying dccifd, instead deriving the 
> appropriate DCC score from the header.  If this was the case, I could gain 
> the benefit of greylisting and DCC checking all from dccm and not bother 
> with dccifd at all.  It would appear, however, that SpamAssassin does not 
> do this and, despite the presence of an X-DCC header, asks for values from 
> dccifd which queries the DCC servers for a second time on the message 
> (after dccm has already done this).

I have never used SpamAssassin, but from poking at the 3.0.4, I had
the impression that it acts on any X-DCC headers already present. 

If you are already using dccm, why involve SpamAssassin at all with
the DCC?  Dccm lets you reject spam during the SMTP transaction.
If you don't reject during the SMTP transaction, then you must
either discard spam or send NDRs or bounces. 
If you discard spam, then senders won't know which is bad if they
think their mail was not spam.
If you bounce spam, then you will send lots of junk to innocent third
parties whose addresses are forged in spam.

(I assume you are not using a SpamAssassin milter.  I don't know, but
would not expect one milter filter to hear about headers added by

> 1) Is there a way to invoke dccifd such that *it* returns values (to 
> SpamAssassin) based on existing X-DCC headers instead of querying DCC 
> servers (because dccm has already done so)?

No, but if you want to do that, why not teach SpamAssassin about X-DCC
headers?  Watching for headers, words, and so forth is what SpamAssassin
is all about.  Perhaps you could use something from the function check_dcc
in in the 3.0.4 SpamAssassin source.

> 2) If the above is not possible, then is there a way to invoke dccm with 
> DCC checking disabled so that it can be used solely as a greylisting 
> milter?

As the dcc man page says,
the following line in /var/dcc/whiteclnt turns off DCC checking:

option dcc-off

Notice also the "MXDCC" whitelist value in that man page.

See also the -Q option for dccifd in its man page

Vernon Schryver

More information about the DCC mailing list

Contact by mail or use the form.