Skip to main content
Overview

Mailcow Spam Filter: Troubleshooting Guide

December 26, 2025 · Updated October 16, 2026
3 min read

Paper illustration: envelopes and folders for this email workflow

If unwanted messages reach a Mailcow inbox, first establish what the Mailcow spam filter actually did. One missed message does not prove that Rspamd is broken or that an LLM will fix it. Mailcow’s protection and post-delivery inbox sorting solve different problems.

Mailcow spam filter not working? Start here

First separate a scoring problem from a delivery problem. If Rspamd considers the message acceptable, inspect the symbols and any allowlist influence. If Rspamd marks it as spam but the message remains in Inbox, investigate the delivery and folder rules instead of lowering the spam threshold.

  1. Keep one unwanted message and one legitimate message as comparison cases.
  2. Record the unwanted message’s Rspamd score, symbols and selected action.
  3. Check the final mailbox folder and compare it with that action.
  4. Change one relevant setting at a time, then check both comparison messages again.

This gives you an observable result: did scoring change, did delivery change, or did another client move the message afterward? Keep the test record before adding another filter.

Follow one message through delivery

Keep the original message and inspect its Rspamd result: score, triggered symbols and selected action. Compare that result with the message’s final folder. A low spam score and a high score followed by incorrect folder placement need different investigations.

Screenshot from "Mailcow Spam Filter: Troubleshooting Guide"

ObservationNext check
A suspicious message scores below the action thresholdWhich symbols contributed, and whether an allowlist affected scoring
A legitimate message scores too highlyThe particular symbols causing the false positive
A message is tagged as spam but remains in InboxDelivery rules and folder placement
Results change after a configuration editCompare both unwanted mail and known legitimate examples

Use Rspamd’s scoring documentation and Mailcow’s learning guide to interpret your installation. Do not copy a universal threshold from a blog without checking your own results.

Authentication is evidence, not a verdict on content

SPF, DKIM and DMARC help evaluate sender authentication. Passing authentication does not establish that a sales pitch is wanted, nor that a message is harmless. Conversely, a single authentication failure needs context, especially with forwarding. Keep your mail server’s security checks active.

Where an AI sorting layer can help

After delivery, AI Email Filter can place messages into a review folder using a category description. For example: “Unsolicited sales pitches offering SEO services or lead lists. Exclude messages that visibly refer to an existing support ticket or the listed project reference.” Replace those references with ones you actually use.

This is a proposed category, not a measured detection result. The classifier sees sender, subject and a body preview. It does not perform a security gateway’s full attachment and link analysis or prove whether the text was AI-generated.

Review advertising after Mailcow has delivered it

A wanted invoice and an unwanted sales pitch can both be authenticated. Keep Mailcow’s security filtering in place, then use a separate category for unwanted advertising that reaches the mailbox. Start with a review folder rather than deleting those messages.

For a concrete example, use the sender-to-folder workflow. Its sample includes an invoice, a promotion and an account alert from the same fictional sender. Compare the original message with the proposed destination before approving a move.

Test both sides of the category

Prepare unwanted sales mail, a legitimate supplier message and an ambiguous message. Record the expected outcome before running a dry preview. Check false positives as carefully as missed advertising. Start with a dedicated review folder and keep uncertain messages visible; do not begin with permanent deletion.

A custom model can have a configured external fallback. A private model alone does not make the hosted application private. See Mailcow connection setup and self-hosted sorting.

This article describes a diagnostic workflow. It does not claim a completed Mailcow benchmark or a permanent solution to spam.

A little look inside

Your rules.In action.

Describe what should happen. Watch emails get filed, unwanted ads collected and updates summarized for your team.

New filter

Folder

Invoices

What belongs here?
File invoices and payment receipts here. No advertising, even if it mentions a price.
Sample Office Supplies

The invoice for your office chair

Thank you for your order. Your invoice for CHF 249 is attached.

Invoice.pdf
Invoices
  1. 01Describe
  2. 02Email arrives
  3. 03AI checks
  4. 04Filed

Filed in “Invoices”. Ready to find in your usual email app.

Animated demo with fictional emails and example workflows.

Start with 200 free classifications

200 free classifications · No credit card