E-Mail Weiterleitungen mit DOVECOT SIEVE ohne SPF DMARC und DKIM Konflikte 2

Nachdem im aktuellen SIEVE von DOVECOT die foreverypart and mime extensions (RFC 5703) enthalten sind habe ich meine Tests fortgeführt.

Achtung: Der vorgestellte Filter ist nach wie vor höchst experimentell !!!

Wie bereits beschrieben beschäftige ich mich hier mit der Variante 2 welchen folgende Einstellungen in der 90-sieve.conf benötigt:

...
sieve_redirect_envelope_from = recipient
...
sieve_extensions = +notify +imapflags +editheader
...

Vorsicht, dies ist ein global gültige Einstellung für den jeweiligen DOVECOT Server !

Hier nun der entsprechende Filter:

require ["fileinto", "editheader", "variables", "regex", "envelope", "foreverypart", "mime", "copy"];  foreverypart

# Sektion zur Filterung von Bounces beim finalen Empfänger und Zustellung
# zum orginalen Absender

{ if allof (
address "From" "MAILER-DAEMON@mail.weiter.de",
header :contains :mime :anychild "Return-Path" "<>",
header :contains :mime :anychild "Subject" "Undelivered Mail Returned to Sender",
header :contains :mime :anychild "Content-Description" "Delivery report",
header :contains :mime :anychild "Content-Type" "multipart/report",
header :contains :mime :anychild "X-Sieve" "Pigeonhole Sieve",
header :contains :mime :anychild "X-Sieve-Redirected-From" "user@weiter.de",
header :matches :mime :anychild "Reply-To" "*" )

{ deleteheader "From";
  addheader "From" "user@weiter.de";
  deleteheader "To";
  addheader "To" "${1}";
  deleteheader "Subject";
  addheader "Subject" "Undelivered Mail Returned to Sender Message delivered by forward from user@weiter.de to user@ende.de";

# Optional Kopie in den Ordner Sent
fileinto :copy "Sent";
redirect "${1}"; stop; } }

# Sektion weiterleiten mit From, To Header Änderung benötigt für DKIM setzen.

if true { deleteheader "Reply-To";
if envelope :matches "From" "*" { addheader "Reply-To" "${1}";
deleteheader "From";
deleteheader "To";
deleteheader "DKIM-Signature";
deleteheader "DomainKey-Signature";
deleteheader "X-DKIM";
deleteheader "X-DomainKeys";
addheader "From" "user@weiter.de";
addheader "To" "user@ende.de";

# Optional Kopie in den Sent Ordner
fileinto :copy "Sent";
redirect "user@ende.de"; } }

Sollte ein Bounce dem orginalen Absender nicht zugestellt werden können ( z.B weil er gefaked ist ), verwirft diesen POSTFIX. Dieses Verhalten scheint mir derzeit hinnehmbar zu sein. Bei Bedarf ist jedoch auch für diesen Fall eine finale Weiterleitung an z.B. den postmaster denkbar.

Auch wenn man diesen Filter nicht einsetzen will demonstriert er eindrucksvoll die Möglichkeiten der neuen SIEVE Erweiterungen, besonders die Filterung einer gesammten Mail inkl. Anhängen in einer Schleife.

Ein Sektion in der RFC 5703 hat ebenfalls meine Aufmerksamkeit erregt.

Action "enclose"
Usage:  enclose <:subject string> <:headers string-list> string
A new Sieve action command is defined to allow an entire message to
be enclosed as an attachment to a new message.

Evtl. kann man hiermit die orginale E-mail als Anhang weiterleiten, was zusätzliche Vorteile haben könnte.


Comments

  1. Stephan Bosch

    Stephan Bosch (1 year, 8 months) # Reply

    `Evtl. kann man hiermit die orginale E-mail als Anhang weiterleiten, was zusätzliche Vorteile haben könnte.'

    Leider nicht:

    `This action does not affect messages that are forwarded via a "redirect" action.'

    (http://tools.ietf.org/html/rfc5703#section-6)

  2. Robert Schetterer

    Robert Schetterer (1 year, 8 months) # Reply

    Hallo Stefan, das hatte ich auch gelesen
    aber irgendwie will ich die Hoffnung darauf nicht aufgeben *g

    Viele Gruesse Robert

Comments are closed.