[ext] discard action: Marked message to be discarded if not explicitly delivered

Ralf Hildebrandt Ralf.Hildebrandt at charite.de
Do Nov 27 14:02:16 CET 2025


* Andreas Wass - Glas Gasperlmair via Dovecot <dovecot at listen.jpberlin.de>:
> Liebe Dovecot Profis,
> 
> ich habe hier ein Problem, dass ein E-Mail bezüglich einer angeforderten
> Passwort Rücksetzung immer discarded wird.

Ich glänze mal durch völlige Unkenntnis, aber versuche anhand der
Symptome zu anaylsieren.

> Maillog:
> mail dovecot: lmtp(lukas at meinedomaene.at)<772893><MLX/LjI9KGkdywsA9a9gbQ:2>:
> sieve: msgid=<user.1273029 at events.logata-edi.com>: discard action: Marked
> message to be discarded if not explicitly delivered (discard action)

Also offenbar eine sieve Regel mit discard.

> Im Postfach des users ist zur Zeit kein Filter aktiviert.
> 
> Es gibt ein globales sieve-script durch welches die E-Mails in das spam-
> oder banned-Postfach gelegt werden (anhand einiger Header Angaben )

Das wird dann wohl zuschlagen. Aber welche der Regeln?

> # Globale Dovecot Sieve Regeln wg Redirect in spam und banned
> 
> # Doppelte Mails verwerfen (z.B. durch redirects in nachfolgendem Script)
> # Folgende 3 Zeilen immer aktivieren
> if duplicate {
>   discard;
> }

Dies könnte man in den Logs erkennen (vom mailserver), denn der loggt
ja eigentlich die Message-Id. Wenn die Passwort-Reset-Mail immer
dieselbe Message-id hat, dann würde das knallen.

> # E-Mails, welche "MIME_BAD_EXTENSION" und "X-Spam" "Yes" im Header haben
> elsif allof (header :contains "X-Spamd-Result" ["FILENAME_BLACKLISTED", "MIME_BAD_ATTACHMENT", "MIME_BAD_EXTENSION"],
> header :contains "X-Spam" "Yes",
> not envelope "To" "banned at meinedomaene.at",
> not envelope "To" "spam at meinedomaene.at")
> {
>     redirect "spam at meinedomaene.at";
>     discard;
>     stop;
> }

Würde mit bei Passwort Reset Mails auch nicht wundern! Aber müsste man
doch auch im Log des Mailserver sehen können (X-Spamd-Result header
wird doch sicher geloggt!)

> # E-Mails, welche NUR "X-Spam" "Yes" im Header haben
> elsif allof (header :contains "X-Spam" "Yes",
> not header :contains "X-Spamd-Result" ["FILENAME_BLACKLISTED",
> "MIME_BAD_ATTACHMENT", "MIME_BAD_EXTENSION"],
> not envelope "To" "spam at meinedomaene.at")
> {
>     redirect "spam at meinedomaene.at";
>     discard;
>     stop;
> }

Dito

> # E-Mails, welche NUR "MIME_BAD_EXTENSION" im Header haben
> elsif allof (header :contains "X-Spamd-Result" ["FILENAME_BLACKLISTED",
> "MIME_BAD_ATTACHMENT", "MIME_BAD_EXTENSION"],
> not header :contains "X-Spam" "Yes",
> not envelope "To" "banned at meinedomaene.at")
> {
>     redirect "banned at meinedomaene.at";
>     discard;
>     stop;
> }

Die Regeln sind leicht redundant:

NUR "MIME_BAD_EXTENSION" -> discard,
nur "X-Spam" "Yes" -> discaer 
und dann nochmal 
"MIME_BAD_EXTENSION" und "X-Spam" "Yes" -> discard (das ist ja Regel 1 und Regel 2 zusammen)

Also: Logs lesen, gucken was für diese Mails im MTA geloggt wird.
Alternatividee: Statt der Holzhammermethode DISCARD einfach einen Spam Ordner angeben

-- 
Ralf Hildebrandt
  Geschäftsbereich IT | Abteilung Netz | Netzwerk-Administration
  Invalidenstraße 120/121 | D-10115 Berlin
  Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962
  ralf.hildebrandt at charite.de | https://www.charite.de
	    


Mehr Informationen über die Mailingliste Dovecot