The question is specifically about 0.15.5 behaviour, which falls under the legacy docs. The user is also asking forward-looking questions about the current version’s scoreSpam property, which I can partially ground. Let me answer from what I’ve found.
The questions span both the legacy 0.15 config format and the current version. Here’s what the source code confirms for each:
1 & 3. Is setting spam-filter.score.spam equal to spam-filter.score.reject the right way to suppress global Junk filing?
In the current server code, spam_threshold (mapped from scoreSpam / spam-filter.score.spam) is the value checked to decide whether a message is classified as spam, which is what triggers automatic Junk filing. Raising it to match the reject threshold means no message will be classified as spam before being rejected — so automatic Junk filing is effectively bypassed. Your approach is correct in principle.
There is no separate “disable automatic Junk filing” toggle distinct from spam-filter.score.spam; the threshold is the only gate.
2. Does spam-filter.score.spam control automatic Junk placement?
Yes. The legacy 0.15 docs describe it as “the score threshold for marking messages as spam” — crossing it is what triggers the Junk classification action. Your per-mailbox Sieve script then independently decides what to do with messages that are scored but not yet rejected.
4. Does raising spam-filter.score.spam affect the Sieve score variable?
No. The raw cumulative spam score is computed before the threshold comparison, and the threshold only controls the classification outcome. Sieve scripts receive the raw score regardless of what spam-filter.score.spam is set to.
5. Is the current-version equivalent scoreSpam?
Yes — the server source confirms that scoreSpam is the current property name (part of the SpamSettings struct), and it maps directly to spam_threshold internally. Your approach of setting it to the same value as the reject threshold carries over to the current version.
Note: Your config is using 0.15.5 TOML-style keys. These are legacy; the current version uses JMAP-style object configuration via the WebUI or stalwart-cli. If you upgrade, use scoreSpam in the SpamSettings object rather than spam-filter.score.spam.
For reference on the current spam filter settings, the closest docs are at https://stalw.art/docs/spamfilter/settings (note: the 0.15-era page is at a different path).
This is an automated reply from the Stalwart Help Bot. Other community members may follow up if this answer is incomplete or wrong. If you found it useful, mention @helpbot in any reply to ask follow-up questions and the bot will respond again.