TL;DR. Il filtro spam di serie di Mailcow si lascia sfuggire lo spam moderno generato dall’IA e segnala troppo spesso la posta transazionale legittima. Aggiungere sopra un classificatore LLM — con un tuo modello per piena sovranità sui dati — risolve entrambi i problemi in meno di un’ora.
Approfondimenti correlati: Come l’IA smista la posta nella pratica · Perché le regole SE-ALLORA non bastano più
Se sei qui perché il filtro spam di Mailcow non funziona (o perché lo spam più ovvio continua ad arrivare nella tua inbox), questo articolo fa per te.
Prima, una checklist rapida per fare troubleshooting su un’installazione Mailcow/Rspamd esistente (così sai perché il messaggio è passato). Dopodiché, ti mostro la soluzione che alla fine ho implementato — un secondo livello che cattura in modo affidabile questo tipo di spazzatura.
Checklist rapida: perché Mailcow lascia passare lo spam (5 minuti)

-
Apri il messaggio in Mailcow e controlla Rspamd
- Guarda il punteggio totale e i simboli che sono scattati.
- Verifica se era appena sotto le tue soglie di Junk/Reject.
-
Controlla SPF/DKIM/DMARC
- Se SPF o DKIM passano e DMARC non è rigido, molto spam sembra “abbastanza valido” da passare.
-
Non sopravvalutare l’apprendimento Bayesiano
- L’addestramento aiuta, ma ha bisogno di volume e tempo. Su caselle più piccole può sembrare lento.
-
Le soglie potrebbero essere troppo prudenti
- Molte configurazioni preferiscono evitare i falsi positivi, quindi lo spam viene trattato con i guanti a meno che non regoli tu il punteggio.
-
Un po’ di spam è soprattutto basato su pattern
- Trucchi sul nome visualizzato, disallineamento Reply-To, stranezze unicode — roba che a un umano sembra ovvia, ma non sempre ottiene un punteggio alto.
Se fai solo una cosa: leggi i simboli Rspamd sullo spam finito nella Inbox. Di solito questo risolve subito il mistero. Ma anche se chiarisce perché la mail non è stata smistata come spam, non risolve il problema come per magia, e la configurazione di Mailcow va adattata alle tue esigenze. Dato che non ci sono riuscito nemmeno dopo aver provato diverse cose, ora ti spiego come ho risolto il problema alla fine.
Il mio modo disperato e poco convenzionale di sistemare il filtro spam debole
Le battute sono spesso a spese di qualcun altro, ma in una conversazione decente cerchiamo di non superare la linea che separa il divertente dall’insultante. Definire cosa sia “troppo” è soggettivo. Eppure c’è uno schema chiaro: più una persona è sicura in un certo ambito, meno è probabile che si senta insultata, e più facilmente finisce per ridere della battutaccia di chi la stuzzica.
Questa dinamica la vedi ovunque. Pensa al triatleta che spende una fortuna per un sellino in carbonio che sembra una roccia, allo sviluppatore che passa settimane a configurare Neovim invece di aprire semplicemente VS Code, o a me che non ho il supporto webcam sul portatile perché il driver non è ancora stato integrato a monte. Da fuori sembra una fatica inutile, ma per chi la vive, la fatica fa parte del divertimento.
Eppure spesso giudichiamo male cosa ci farà davvero scattare. Di solito non sono le fatiche che scegliamo noi stessi a metterci sulla difensiva, ma le cose di fronte alle quali ci sentiamo impotenti.
La frustrazione del filtro predefinito di Mailcow
La mia vera fonte di frustrazione è la nostra istanza Mailcow gestita. Come amministratore, la prendo sul personale quando il sistema non riesce a bloccare nemmeno la spazzatura più banale. Fa male, specialmente quando è seguito da commenti tipo: “Il mio Gmail personale non ha mai questi problemi, ma è bello che dobbiamo usare questa soluzione ‘Open Source’.”
Anche se quei commenti sono battute amichevoli da parte di colleghi esperti di tecnologia, mi fanno comunque scattare fino a un certo punto. Nonostante abbia istruito rigorosamente il team ad addestrare il filtro spam spostando i messaggi in Junk o inoltrandoli a spam@… (il che attiva il processo di apprendimento di Rspamd), il sistema semplicemente non si adatta abbastanza in fretta.
Non sono un esperto di hosting email — è esattamente per questo che paghiamo un servizio gestito — ma faccio fatica a credere che i filtri predefiniti siano così scarsi nel catturare pattern ovvi.
Questo è l’ultimo esempio, da “💬Rebeca💌”, arrivato nell’inbox il 20 dicembre 2025:

Perché le regole spam standard si lasciano sfuggire l’ovvio
Come avvertenza: non ho una competenza approfondita su come funzionano i protocolli email sotto il cofano. È esattamente per questo che paghiamo un’istanza Mailcow gestita; presumo che dovrebbero esserci impostazioni predefinite accettabili che gestiscono le basi.
Ma guardando gli header nello screenshot qui sotto, è frustrante vedere che a volte le regole di filtraggio standard si lasciano sfuggire ciò che è chiaramente spazzatura. Questo non è nemmeno il cold outreach economico generato da LLM che sta diventando difficile da rilevare — è solo spazzatura vecchio stile, ovvia.
Nella mia testa continuavo a pensare che persino il modello IA più “stupido” avrebbe capito all’istante che quello era spam. Volevo davvero solo un servizio che mi permettesse di eseguire un prompt LLM personalizzato su ogni email in arrivo per categorizzarla esattamente come volevo io — che fosse Spam, Marketing, o argomenti di lavoro specifici.
Sì, instradare l’email attraverso un LLM può sembrare un approccio pesante per risolvere un problema di spam, ma non ho la competenza per mettere mano agli interni del server di posta né il tempo per andare avanti e indietro con il supporto. Inoltre, possiamo usare questo approccio per filtrare le mail in base a progetti specifici o urgenza, il che sta diventando anch’esso una necessità.
Tuttavia, non potevo semplicemente iscrivere tutti a uno strumento organizzatore di email esistente. Il motivo intero per cui facciamo self-hosting è la sovranità sui dati. Se avessimo iniziato a mandare ogni singola email aziendale a una startup di terze parti perché la raccogliesse, tanto valeva usare Gmail for Business. È esattamente questo il vuoto che colma lo smistamento email IA per server self-hosted — il livello LLM gira sul tuo stack Mailcow/Rspamd invece di instradare la tua casella attraverso il SaaS di qualcun altro.
La soluzione: un filtro spam basato su LLM
Così, durante le vacanze di Natale, mi sono finalmente seduto a costruire una soluzione. Ho messo insieme uno strumento che si collega ai nostri account e usa un LLM per smistare la posta in base a un prompt semplice — niente di troppo folle, ma ha funzionato.
Ho passato un po’ di tempo a sistemare l’interfaccia per i miei colleghi, progettandola specificamente in modo che potessero collegare i propri endpoint LLM. Questa era la chiave: otteniamo l’intelligenza dell’IA, ma poiché colleghiamo le nostre chiavi API (o endpoint locali), non dobbiamo preoccuparci che una terza parte conservi i nostri dati.
Una volta finita l’interfaccia e sistemato l’hosting per il team, ho pensato tanto valesse aprirlo al pubblico. Sono già co-fondatore di un’azienda, e una volta che sei in quella mentalità, dimentichi come si costruisce qualcosa di utile senza mettergli sopra un processo di checkout. Ormai è solo un’abitudine.
L’ho chiamato email-filter.ai — in parte per far tacere finalmente quelle battute sulla mia inbox, ma soprattutto perché si è trasformato in uno strumento davvero solido.
Try AI Email Filtering
Define your own rules with natural language. Works with any email provider.
Connected Accounts
3 mailboxesYour Filters
3 activePersonal
From people I know personally or have emailed before
Spam & Sales
DeleteCold outreach, LinkedIn spam, or someone trying to sell me something
Favorite Shop Newsletter
StarDeals and updates from the shops I actually buy from
AI Classification
Waiting for emails...
on your LLM or ours