On 2026-04-02 at 18:30:13 UTC-0400 (Fri, 03 Apr 2026 00:30:13 +0200)
Gregor Zattler <[email protected]>
is rumored to have said:
Hello,
plenty of my emails get tagged by
spamassassin EMPTY_MESSAGE=2.32 although
most of these in turn are very simple
ascii emails without MIME parts or the
like which do have a subject and a
relevant body.
Something is very broken in your mechanism for using SpamAssassin.
Ironically this also happened to the
welcome email for this very mailinglist:
https://pastebin.com/NegUzr0Y
I do not get a hit on EMPTY_MESSAGE on that, using 4.0.2 and the current
rules.
I have *never* seen a false positive on EMPTY_MESSAGE. I don't even have
a theory for how it might have happened with a normal mail flow and
configuration. The presence of a single non-whitespace character in the
message body will prevent a match.
Any ideas why this happens and how to
correct it?
It may be possible to get that to happen by adjusting rule priorities
and using "shortcircuit" on header rules, such that no body characters
are ever detected. I don't see that below...
If SA scanned ANY of the body, EMPTY_MESSAGE would not hit. So it could
happen if your procmail rig is somehow only passing the headers to
spamc.
Further info:
I get email via fetchmail and
filter with procmail which calls spamc.
spamd runs with network rules.
What precisely do you mean by "network rules?" Version? How often do you
update rules and reload spamd?
This is on debian trixie and therefore
Spamassassin/spamc/spamd version 4.0.1-5
So: 4.0.1 with whatever later updates Debian adopted. A bug (8078)
related to MIME attachment detection and priority/shortcircuit
interaction was fixed in 4.0.0 and did not involve EMPTY_MESSAGE.
I would examine the flow of data through the
fetchmail-procmail-spamc-spamd pipeline.
Also: check the message with "spamassassin -t" and see what results you
get. That uses the SA code and rules directly rather than talking to
spamd and using whatever it loaded when launched. If that hits
EMPTY_MESSAGE, the're's something very wrong with your rules beyond the
minor mods below.
My modifications to local.cf are:
allow_user_rules 1
skip_rbl_checks 0
dns_server 127.0.0.1 # unbound
dns_available yes
header RCVD_IN_ZEN eval:check_rbl('zen', 'zen.spamhaus.org.')
describe RCVD_IN_ZEN Gelistet in Spamhaus ZEN
tflags RCVD_IN_ZEN net
score RCVD_IN_ZEN 3.5
Ciao; Gregor
--
-... --- .-. . -.. ..--.. ...-.-
--
Bill Cole
[email protected] or [email protected]
(AKA @[email protected] and many *@billmail.scconsult.com
addresses)
Please keep discussion mailing list replies *on-list*
Not Currently Available For Hire