Hello,
I'm hoping someone can help troubleshooting using DCC in SpamAssassin.
My setup isn't populating the "X-Spam-DCC: : " header.
I installed SpamAssassin 4.0.0
spamassassin -V
SpamAssassin version 4.0.0
running on Perl version 5.38.2
I run Postfix 3.8.5
postconf mail_version
mail_version = 3.8.5
I setup Postfix to use SpamAssassin through a pre-queue milter over a unix socket
smtpd_milters=unix:/run/sa-milter/sa-milter.sock
I installed DCC
cdcc -V
2.3.168
It can connect to its servers
cdcc info
# 02/18/24 11:31:46 EST /etc/dcc/map
# Re-resolve names after 12:29:46 Check RTTs after 11:46:45
# 1691.96 ms threshold, 1239.41 ms average 12 total, 6 working servers
IPv6 on version=3
...
I configured SpamAssassin to use DCC
cat local.cf
...
loadplugin Mail::SpamAssassin::Plugin::DCC
add_header all DCC _DCCB_: _DCCR_
...
ifplugin Mail::SpamAssassin::Plugin::DCC
use_dcc 1
dcc_home /etc/dcc
dcc_path /usr/local/bin/dccproc
dcc_timeout 10
dcc_body_max 999999
dcc_fuz1_max 999999
dcc_fuz2_max 999999
score DCC_CHECK 3.000
dcc_learn_score 999999
endif
...
Checking with SA --lint, local only with no network
spamassassin --prefs-file=/etc/spamassassin/local.cf -D --lint
...
Feb 18 11:18:06.242 [6905] dbg: config: fixed relative path: /var/spamassassin/4.000000/updates_spamassassin_org/25_dcc.cf
Feb 18 11:18:06.242 [6905] dbg: config: using "/var/spamassassin/4.000000/updates_spamassassin_org/25_dcc.cf" for included file
Feb 18 11:18:06.242 [6905] dbg: config: read file /var/spamassassin/4.000000/updates_spamassassin_org/25_dcc.cf
Feb 18 11:18:06.243 [6905] dbg: config: parsing file /var/spamassassin/4.000000/updates_spamassassin_org/25_dcc.cf
...
Feb 18 11:18:06.792 [6905] dbg: plugin: loading Mail::SpamAssassin::Plugin::DCC from @INC
Feb 18 11:18:06.796 [6905] dbg: dcc: local tests only, disabling DCC
...
Feb 18 11:18:06.843 [6905] dbg: rules: meta test DIGEST_MULTIPLE has undefined dependency 'DCC_CHECK'
Feb 18 11:18:06.843 [6905] dbg: rules: meta test FSL_BULK_SIG has undefined dependency 'DCC_CHECK'
...
Feb 18 11:18:08.561 [6905] dbg: plugin: Mail::SpamAssassin::Plugin::DCC=HASH(0x56116a3060f0) implements 'check_tick', priority 0
...
Feb 18 11:18:09.072 [6905] dbg: plugin: Mail::SpamAssassin::Plugin::DCC=HASH(0x56116a3060f0) implements 'check_cleanup', priority 0
...
Feb 18 11:18:09.074 [6905] dbg: plugin: Mail::SpamAssassin::Plugin::DCC=HASH(0x56116a3060f0) implements 'check_post_learn', priority 0
...
Testing against a sample email,
spamassassin --prefs-file=/etc/spamassassin/local.cf -D </etc/spamassassin/sample-email.txt
...
Feb 18 11:24:47.742 [7041] dbg: config: fixed relative path: /var/spamassassin/4.000000/updates_spamassassin_org/25_dcc.cf
Feb 18 11:24:47.742 [7041] dbg: config: using "/var/spamassassin/4.000000/updates_spamassassin_org/25_dcc.cf" for included file
Feb 18 11:24:47.743 [7041] dbg: config: read file /var/spamassassin/4.000000/updates_spamassassin_org/25_dcc.cf
Feb 18 11:24:47.743 [7041] dbg: config: parsing file /var/spamassassin/4.000000/updates_spamassassin_org/25_dcc.cf
...
Feb 18 11:24:48.255 [7041] dbg: plugin: loading Mail::SpamAssassin::Plugin::DCC from @INC
...
Feb 18 11:24:48.296 [7041] dbg: rules: meta test DIGEST_MULTIPLE has undefined dependency 'DCC_CHECK'
...
Feb 18 11:24:48.304 [7041] dbg: rules: meta test FSL_BULK_SIG has undefined dependency 'DCC_CHECK'
...
Feb 18 11:24:49.989 [7041] dbg: plugin: Mail::SpamAssassin::Plugin::DCC=HASH(0x55f8e8a5da20) implements 'check_tick', priority 0
...
Feb 18 11:24:50.003 [7041] dbg: plugin: Mail::SpamAssassin::Plugin::DCC=HASH(0x55f8e8a5da20) implements 'check_dnsbl', priority 0
...
Feb 18 11:24:50.904 [7041] dbg: plugin: Mail::SpamAssassin::Plugin::DCC=HASH(0x55f8e8a5da20) implements 'check_cleanup', priority 0
...
Feb 18 11:24:50.914 [7041] dbg: plugin: Mail::SpamAssassin::Plugin::DCC=HASH(0x55f8e8a5da20) implements 'check_post_learn', priority 0
Feb 18 11:24:50.914 [7041] dbg: dcc: DCC learning not enabled by dcc_learn_score
...
X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on mail.example.com
X-Spam-Scanned: spamd.mail.example.com
X-Spam-Status: No, score=-100.0 required=8.0 tests=KAM_DMARC_STATUS,
NO_RECEIVED,NO_RELAYS,SC_HAM,T_SCC_BODY_TEXT_LINE autolearn=ham
autolearn_force=no version=4.0.0
X-Spam-DCC: :
X-Spam-Level:
X-Spam-SenderDomain: _SENDERDOMAIN_
X-Spam-AuthorDomain: example.com
X-Spam-Remote-IP:
X-Spam-Remote-RDNS:
X-Spam-Remote-HELO:
X-Spam-Relays-Untrusted:
And in a normal received email sent from my GMail
...
X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on mail.example.com
X-Spam-Scanned: spamd.mail.example.com
X-Spam-Status: No, score=1.0 required=8.0 tests=BODY_SINGLE_WORD,FREEMAIL_FROM,
SCC_BODY_SINGLE_WORD,T_SCC_BODY_TEXT_LINE autolearn=ham
autolearn_force=no version=4.0.0
X-Spam-DCC: :
X-Spam-Level:
X-Spam-Relay-Country: US US
X-Spam-ASN: AS15169 GOOGLE
X-Spam-SenderDomain: gmail.com
X-Spam-AuthorDomain: gmail.com
X-Spam-Remote-IP: 209.85.128.176
X-Spam-Remote-RDNS: mail-yw1-f176.google.com
X-Spam-Remote-HELO: mail-yw1-f176.google.com
X-Spam-Languages:
...
What else can I check or change to get the DCC results populating the header?
Thanks.
Denny
I'm hoping someone can help troubleshooting using DCC in SpamAssassin.
My setup isn't populating the "X-Spam-DCC: : " header.
I installed SpamAssassin 4.0.0
spamassassin -V
SpamAssassin version 4.0.0
running on Perl version 5.38.2
I run Postfix 3.8.5
postconf mail_version
mail_version = 3.8.5
I setup Postfix to use SpamAssassin through a pre-queue milter over a unix socket
smtpd_milters=unix:/run/sa-milter/sa-milter.sock
I installed DCC
cdcc -V
2.3.168
It can connect to its servers
cdcc info
# 02/18/24 11:31:46 EST /etc/dcc/map
# Re-resolve names after 12:29:46 Check RTTs after 11:46:45
# 1691.96 ms threshold, 1239.41 ms average 12 total, 6 working servers
IPv6 on version=3
...
I configured SpamAssassin to use DCC
cat local.cf
...
loadplugin Mail::SpamAssassin::Plugin::DCC
add_header all DCC _DCCB_: _DCCR_
...
ifplugin Mail::SpamAssassin::Plugin::DCC
use_dcc 1
dcc_home /etc/dcc
dcc_path /usr/local/bin/dccproc
dcc_timeout 10
dcc_body_max 999999
dcc_fuz1_max 999999
dcc_fuz2_max 999999
score DCC_CHECK 3.000
dcc_learn_score 999999
endif
...
Checking with SA --lint, local only with no network
spamassassin --prefs-file=/etc/spamassassin/local.cf -D --lint
...
Feb 18 11:18:06.242 [6905] dbg: config: fixed relative path: /var/spamassassin/4.000000/updates_spamassassin_org/25_dcc.cf
Feb 18 11:18:06.242 [6905] dbg: config: using "/var/spamassassin/4.000000/updates_spamassassin_org/25_dcc.cf" for included file
Feb 18 11:18:06.242 [6905] dbg: config: read file /var/spamassassin/4.000000/updates_spamassassin_org/25_dcc.cf
Feb 18 11:18:06.243 [6905] dbg: config: parsing file /var/spamassassin/4.000000/updates_spamassassin_org/25_dcc.cf
...
Feb 18 11:18:06.792 [6905] dbg: plugin: loading Mail::SpamAssassin::Plugin::DCC from @INC
Feb 18 11:18:06.796 [6905] dbg: dcc: local tests only, disabling DCC
...
Feb 18 11:18:06.843 [6905] dbg: rules: meta test DIGEST_MULTIPLE has undefined dependency 'DCC_CHECK'
Feb 18 11:18:06.843 [6905] dbg: rules: meta test FSL_BULK_SIG has undefined dependency 'DCC_CHECK'
...
Feb 18 11:18:08.561 [6905] dbg: plugin: Mail::SpamAssassin::Plugin::DCC=HASH(0x56116a3060f0) implements 'check_tick', priority 0
...
Feb 18 11:18:09.072 [6905] dbg: plugin: Mail::SpamAssassin::Plugin::DCC=HASH(0x56116a3060f0) implements 'check_cleanup', priority 0
...
Feb 18 11:18:09.074 [6905] dbg: plugin: Mail::SpamAssassin::Plugin::DCC=HASH(0x56116a3060f0) implements 'check_post_learn', priority 0
...
Testing against a sample email,
spamassassin --prefs-file=/etc/spamassassin/local.cf -D </etc/spamassassin/sample-email.txt
...
Feb 18 11:24:47.742 [7041] dbg: config: fixed relative path: /var/spamassassin/4.000000/updates_spamassassin_org/25_dcc.cf
Feb 18 11:24:47.742 [7041] dbg: config: using "/var/spamassassin/4.000000/updates_spamassassin_org/25_dcc.cf" for included file
Feb 18 11:24:47.743 [7041] dbg: config: read file /var/spamassassin/4.000000/updates_spamassassin_org/25_dcc.cf
Feb 18 11:24:47.743 [7041] dbg: config: parsing file /var/spamassassin/4.000000/updates_spamassassin_org/25_dcc.cf
...
Feb 18 11:24:48.255 [7041] dbg: plugin: loading Mail::SpamAssassin::Plugin::DCC from @INC
...
Feb 18 11:24:48.296 [7041] dbg: rules: meta test DIGEST_MULTIPLE has undefined dependency 'DCC_CHECK'
...
Feb 18 11:24:48.304 [7041] dbg: rules: meta test FSL_BULK_SIG has undefined dependency 'DCC_CHECK'
...
Feb 18 11:24:49.989 [7041] dbg: plugin: Mail::SpamAssassin::Plugin::DCC=HASH(0x55f8e8a5da20) implements 'check_tick', priority 0
...
Feb 18 11:24:50.003 [7041] dbg: plugin: Mail::SpamAssassin::Plugin::DCC=HASH(0x55f8e8a5da20) implements 'check_dnsbl', priority 0
...
Feb 18 11:24:50.904 [7041] dbg: plugin: Mail::SpamAssassin::Plugin::DCC=HASH(0x55f8e8a5da20) implements 'check_cleanup', priority 0
...
Feb 18 11:24:50.914 [7041] dbg: plugin: Mail::SpamAssassin::Plugin::DCC=HASH(0x55f8e8a5da20) implements 'check_post_learn', priority 0
Feb 18 11:24:50.914 [7041] dbg: dcc: DCC learning not enabled by dcc_learn_score
...
X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on mail.example.com
X-Spam-Scanned: spamd.mail.example.com
X-Spam-Status: No, score=-100.0 required=8.0 tests=KAM_DMARC_STATUS,
NO_RECEIVED,NO_RELAYS,SC_HAM,T_SCC_BODY_TEXT_LINE autolearn=ham
autolearn_force=no version=4.0.0
X-Spam-DCC: :
X-Spam-Level:
X-Spam-SenderDomain: _SENDERDOMAIN_
X-Spam-AuthorDomain: example.com
X-Spam-Remote-IP:
X-Spam-Remote-RDNS:
X-Spam-Remote-HELO:
X-Spam-Relays-Untrusted:
And in a normal received email sent from my GMail
...
X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on mail.example.com
X-Spam-Scanned: spamd.mail.example.com
X-Spam-Status: No, score=1.0 required=8.0 tests=BODY_SINGLE_WORD,FREEMAIL_FROM,
SCC_BODY_SINGLE_WORD,T_SCC_BODY_TEXT_LINE autolearn=ham
autolearn_force=no version=4.0.0
X-Spam-DCC: :
X-Spam-Level:
X-Spam-Relay-Country: US US
X-Spam-ASN: AS15169 GOOGLE
X-Spam-SenderDomain: gmail.com
X-Spam-AuthorDomain: gmail.com
X-Spam-Remote-IP: 209.85.128.176
X-Spam-Remote-RDNS: mail-yw1-f176.google.com
X-Spam-Remote-HELO: mail-yw1-f176.google.com
X-Spam-Languages:
...
What else can I check or change to get the DCC results populating the header?
Thanks.
Denny