Wie ändere ich den Betreff einer Nachricht in einer Sieve-Regel?

Wie ändere ich den Betreff einer Nachricht in einer Sieve-Regel?

Ich bin bei einer Mailingliste angemeldet, die sich im Betreff der über die Liste gesendeten Mails nicht zu erkennen gibt.
Ich möchte, dass Listenmails in meinen Hauptposteingang gesendet werden, aber trotzdem auf den ersten Blick als von der Liste stammend erkennbar sind.

Mein MTA (Dovecot) unterstützt Sieve-Filter mit den meistenübliche Erweiterungen.

Wie kann ich E-Mails aus dieser Liste ein „[Foo-List]“-Tag voranstellen?

Antwort1

Es scheint, dass es keine standardisierte Möglichkeit gibt, eine Zeichenfolge direkt an den Betreff-Header einer Nachricht anzuhängen oder voranzustellen. Mit den Erweiterungen und lässt sich dies jedoch editheadersumgehen variables:

require "editheader";
require "variables";

# Match/select your message as you see fit
if header :contains "List-Id" ["<foo.lists.example.net>"]
{
    # Match the entire subject ...
    if header :matches "Subject" "*" {
        # ... to get it in a match group that can then be stored in a variable:
        set "subject" "${1}";
    }

    # We can't "replace" a header, but we can delete (all instances of) it and
    # re-add (a single instance of) it:
    deleteheader "Subject";
    # Append/prepend as you see fit
    addheader :last "Subject" "[Foo-List] ${subject}";
    # Note that the header is added ":last" (so it won't appear before possible
    # "Received" headers).
}

verwandte Informationen