Betreffzeile mit Sieve umschreiben?
Hallo! Ich nutze Sieve um E-Mails in Cyrus-Postfächer einzusortieren und weiterzuleiten. Das war als Grundkonfiguration gedacht und funktioniert gut. Nun möchte ich aber gerne einige weitere Dinge mit E-Mails anstellen, wie beispielsweise die Betreffzeile von Mailinglisten-Mails umschreiben um den Vorspann entfernen. Oder an E-Mails angehängte Dateien automatisch in ein spezielles Verzeichnis auf der Festplatte speichern. Geht das überhaupt mit Sieve? In meiner Internet-Suche nach Sieve finde ich immer nur eine handvoll Befehle (fileinto, vacation, reject, redirect, discard und keep). Wenn nicht mit Sieve, wie löse ich diese beschriebenen Aufgaben dann? Beste Grüße und ein schönes verlängertes Wochenende Ralf
Ralf Tempel wrote:
Hallo! Ich nutze Sieve um E-Mails in Cyrus-Postfächer einzusortieren und weiterzuleiten. Das war als Grundkonfiguration gedacht und funktioniert gut.
Nun möchte ich aber gerne einige weitere Dinge mit E-Mails anstellen, wie beispielsweise die Betreffzeile von Mailinglisten-Mails umschreiben um den Vorspann entfernen. Oder an E-Mails angehängte Dateien automatisch in ein spezielles Verzeichnis auf der Festplatte speichern.
Geht das überhaupt mit Sieve? In meiner Internet-Suche nach Sieve finde ich immer nur eine handvoll Befehle (fileinto, vacation, reject, redirect, discard und keep).
Wenn nicht mit Sieve, wie löse ich diese beschriebenen Aufgaben dann?
Sieve kannst du für die von dir genannten Befehle vergessen, da brauchst du etwas wie procmail und/oder einen eigenen Content-Filter. Wann immer du eine Mail verändern möchtest, ist Sieve praktisch außen vor, das gilt selbst für das Verändern von Headern wie Subject. Du könntest natürlich das mit ein paar Zeilen header_checks in Postfix machen. (^-^) Beispiel für die suse-linux-e Mailingliste: main.cf: header_checks = pcre:/etc/postfix/header_checks /etc/postfix/header_checks: /^subject: *(Re:|AW:)* \[SLE\](.*)$/ REPLACE Subject: $1 $2 Ich würde da aber sehr vorsichtig sein, da die Zahl der RE-Zeilen die CPU-Last durch Postfix hochdrücken kann. Bei wenigen RE-Ausdrücken kein Problem, aber bei vielen Dutzend kann Postfix dann doch mal CPU schlucken. Für das Auspacken von Anhängen gab es IMHO schon mal ein paar genannte Tools, mangels eigenen Bedarfs habe ich das aber nicht verfolgt. Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
Sandy Drobic schrieb:
Beispiel für die suse-linux-e Mailingliste: main.cf: header_checks = pcre:/etc/postfix/header_checks
/etc/postfix/header_checks: /^subject: *(Re:|AW:)* \[SLE\](.*)$/ REPLACE Subject: $1 $2
Ich würde da aber sehr vorsichtig sein, da die Zahl der RE-Zeilen die CPU-Last durch Postfix hochdrücken kann. Bei wenigen RE-Ausdrücken kein Problem,
Besten Dank für die Info. Wenn ich richtig verstanden habe, soll die Zeile das leidige "Outlook-AW:" in das internationale "Re:" umsetzen. Ich habe ein wenig damit herum experimentiert, aber kein Glück gehabt. Wie muss ich die Zeile ändern, dass grundsätzlich "AW:" in "Re:" geändert wird? Ich nehme an SLE ist die erwähnte suse-linux-e Mailingliste. Wenn ich das "SLE" lösche oder durch "*" ersetzen kommen trotzdem Mails mit "AW:" durch. Viele Grüße Ralf
Ralf Tempel wrote:
Sandy Drobic schrieb:
Beispiel für die suse-linux-e Mailingliste: main.cf: header_checks = pcre:/etc/postfix/header_checks
/etc/postfix/header_checks: /^subject: *(Re:|AW:)* \[SLE\](.*)$/ REPLACE Subject: $1 $2
Ich würde da aber sehr vorsichtig sein, da die Zahl der RE-Zeilen die CPU-Last durch Postfix hochdrücken kann. Bei wenigen RE-Ausdrücken kein Problem,
Besten Dank für die Info. Wenn ich richtig verstanden habe, soll die Zeile das leidige "Outlook-AW:" in das internationale "Re:" umsetzen.
Nein, der einzige Zweck dieser Zeile ist das Entfernen von "[SLE]" aus der Subject-Headerzeile.
Ich habe ein wenig damit herum experimentiert, aber kein Glück gehabt. Wie muss ich die Zeile ändern, dass grundsätzlich "AW:" in "Re:" geändert wird? Ich nehme an SLE ist die erwähnte suse-linux-e Mailingliste. Wenn ich das "SLE" lösche oder durch "*" ersetzen kommen trotzdem Mails mit "AW:" durch.
Natürlich! Die Ausdrücke in den runden Klammern werden mit $1 $2 etc. in der REPLACE-Aktion wiederverwendet, und die erste Klammer enthält eben genau dieses "Re:" oder eben "AW:". Das Problem von header_checks ist, dass man nur eine Zeile hat, um den Ausdruck umzuformen. Du kannst also nicht weitere Bedingungen auswerten in Reaktion auf einen Wert. Also musst du wohl oder übel das in zwei Zeilen erledigen: /^subject: *(Re:)+ \[SLE\](.*)$/ REPLACE Subject: $1 $2 /^subject: *(AW:)+ \[SLE\](.*)$/ REPLACE Subject: Re: $2 Dafür habe ich gerade eine Unart von Postfix entdeckt: beim Ersetzen mit REPLACE wird alles in Kleinbuchstaben gewandelt. Das wurde IMHO in einer der letzteren Versionen von Postfix ausgemerzt. Es wird mal wieder Zeit, auf einen neuen Snapshot zu gehen... Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
Sandy Drobic schrieb:
/^subject: *(Re:)+ \[SLE\](.*)$/ REPLACE Subject: $1 $2 /^subject: *(AW:)+ \[SLE\](.*)$/ REPLACE Subject: Re: $2
Klasse, danke! Nun wird das richtig geändert. Aber so ganz hinter Schreibweise steige ich nicht. Was ich noch nicht hinbekommen habe, ist AW: in Re: umzuwandeln, OHNE dass die Mailingliste einen Vorspann hat. Eine Zeile ohne [SLE\] funktioniert nicht. Beste Grüße Ralf
Ralf Tempel wrote:
Sandy Drobic schrieb:
/^subject: *(Re:)+ \[SLE\](.*)$/ REPLACE Subject: $1 $2 /^subject: *(AW:)+ \[SLE\](.*)$/ REPLACE Subject: Re: $2
Klasse, danke! Nun wird das richtig geändert. Aber so ganz hinter Schreibweise steige ich nicht. Was ich noch nicht hinbekommen habe, ist AW: in Re: umzuwandeln, OHNE dass die Mailingliste einen Vorspann hat. Eine Zeile ohne [SLE\] funktioniert nicht.
Ha? /^Subject: (AW:)(.*)$/ REPLACE Subject: Re:$2 Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
Sandy Drobic wrote:
Ralf Tempel wrote:
Sandy Drobic schrieb:
/^subject: *(Re:)+ \[SLE\](.*)$/ REPLACE Subject: $1 $2 /^subject: *(AW:)+ \[SLE\](.*)$/ REPLACE Subject: Re: $2
Klasse, danke! Nun wird das richtig geändert. Aber so ganz hinter Schreibweise steige ich nicht. Was ich noch nicht hinbekommen habe, ist AW: in Re: umzuwandeln, OHNE dass die Mailingliste einen Vorspann hat. Eine Zeile ohne [SLE\] funktioniert nicht.
Ha?
/^Subject: (AW:)(.*)$/ REPLACE Subject: Re:$2
Noch einfacher: /^Subject: AW:(.*)$/ REPLACE Subject: Re:$1 -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
participants (2)
-
Ralf Tempel
-
Sandy Drobic