Rspamd Bayes lernen durch Verschieben
Version vom 15. Dezember 2025, 15:52 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= Rspamd Bayes lernen durch Verschieben (IMAPSieve ON TOP) = == Ziel == * Bestehendes Setup bleibt unverändert: ** Postfix + Rspamd + Dovecot (LMTP + Sieve)…“)
Rspamd Bayes lernen durch Verschieben (IMAPSieve ON TOP)
Ziel
- Bestehendes Setup bleibt unverändert:
- Postfix + Rspamd + Dovecot (LMTP + Sieve)
- Keyword-Filter aktiv
- Bayes aktiv
- Junk-Entscheidung weiterhin nur über Sieve
- Lernen erfolgt automatisch:
- Mail wird aus INBOX nach Junk verschoben → learn_spam
- Mail wird aus Junk nach INBOX verschoben → learn_ham
- Kein Autolearn
- Kein Reject
- Kein Client-spezifisches Lernen
Voraussetzung
- Rspamd Bayes ist aktiv (sqlite)
- rspamc funktioniert lokal
- Junk-Ordner heißt: INBOX.Junk
- IMAP-Client verschiebt Mails serverseitig (Standard)
Prinzip
- Dovecot IMAPSieve reagiert auf IMAP COPY / MOVE
- Beim Zielordner wird ein Lernskript ausgelöst
- rspamc lernt die Mail exakt einmal
Dovecot: IMAPSieve aktivieren
- vi /etc/dovecot/conf.d/90-imapsieve.conf
protocol imap {
mail_plugins = $mail_plugins imap_sieve
}
- vi /etc/dovecot/conf.d/90-sieve.conf
plugin {
sieve_plugins = sieve_imapsieve sieve_extprograms
sieve_pipe_bin_dir = /usr/bin
sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment
}
Lernskripte definieren
- SPAM lernen
- INBOX → INBOX.Junk
- vi /var/lib/dovecot/sieve/learn-spam.sieve
require ["vnd.dovecot.pipe", "copy", "imapsieve"]; pipe :copy "rspamc" ["learn_spam"];
- HAM lernen
- INBOX.Junk → INBOX
- vi /var/lib/dovecot/sieve/learn-ham.sieve
require ["vnd.dovecot.pipe", "copy", "imapsieve"]; pipe :copy "rspamc" ["learn_ham"];
IMAPSieve an Ordner binden
- vi /etc/dovecot/conf.d/90-imapsieve.conf
plugin {
imapsieve_mailbox1_name = INBOX.Junk
imapsieve_mailbox1_causes = COPY
imapsieve_mailbox1_before = file:/var/lib/dovecot/sieve/learn-spam.sieve
imapsieve_mailbox2_name = INBOX
imapsieve_mailbox2_causes = COPY
imapsieve_mailbox2_before = file:/var/lib/dovecot/sieve/learn-ham.sieve
}
Sieve-Skripte kompilieren
- sievec /var/lib/dovecot/sieve/learn-spam.sieve
- sievec /var/lib/dovecot/sieve/learn-ham.sieve
Rechte setzen
- chown -R dovecot:dovecot /var/lib/dovecot/sieve
- chmod 750 /var/lib/dovecot/sieve
Dienste neu starten
- systemctl restart dovecot
- systemctl restart rspamd
Funktionstest
- Spam aus INBOX nach Junk verschieben
- Erwartung
- rspamc learn_spam
- rspamc stat
- Ham aus Junk nach INBOX verschieben
- Erwartung
- rspamc learn_ham
- rspamc stat
Wichtige Hinweise
- Lernen erfolgt nur bei COPY / MOVE per IMAP
- Automatische Sieve-Filter lösen KEIN Lernen aus
- Jede Mail wird nur einmal gelernt
- Bayes-Qualität steigt primär durch HAM
- False Positives verschwinden mit wachsender Ham-Menge
Merksatz
- Junk reinziehen = HAM lernen
- Junk rausziehen = SPAM lernen
- Admin entscheidet, Bayes folgt