[SIEVE] Timeframe and "subject in reply"

  • ich hab sieve bisher nie verwendet, ich lese jetzt das erste mal davon, aber falls du die vacation extension verwendest, könntest du zb das date field im header abfragen.

    das script überprüft abgesendete mails vom zeitraum 21 Aug 2009 bis 23 Aug 2009, die an die adresse my.email@address.org geschickt wurden und antwortet dem absender nur 1x innerhalb von 3 tagen, sofern es sich dabei nicht um eine mailingliste handelt (falls "Precedence" ['bulk','list']).

    fehler vorbehalten!

    Code
    require "vacation";
    
    
    if allof (
    	header :contains "Date" ['21 Aug 2009', '22 Aug 2009', '23 Aug 2009'],
    	not header :contains "Precedence" ['bulk','list']
    ) {
    	vacation :days 3 :addresses ['my.email@address.org'] "Sorry, I'm away, I'll read your messagewhen I get around to it."; }

    Otto: Apes don't read philosophy. - Wanda: Yes they do, Otto, they just don't understand
    Beleidigungen sind Argumente jener, die über keine Argumente verfügen.
    «Signanz braucht keine Worte.» | «Signanz gibts nur im Traum.» 

    Das neue MTB-Projekt (PO, Wiki, Mitschriften, Ausarbeitungen, Folien, ...) ist online
    http://mtb-projekt.at

  • Check mal RFC 5230, dort wird erklärt, wie Auto-Replies für Abwesenheit funktionieren, wenn sich deine Sieve-Implementation tatsächlich daran hält. Welche verwendest du? Cmusieve? Oder die neue Sieve-Implementation von Dovecot? Beide sind AFAIK RFC-konform und enthalten allte nötigen Extensions, auch um das Subject in der ausgehenden Mail zu setzen.

    Siehe dieses Beispiel aus dem RFC:

    Code
    require ['vacation', 'variables'];
       if header :matches "subject" "*" {
           vacation :subject "Automatic response to: ${1}"
                    "I'm away -- send mail to foo in my absence";
       }

    Das kannst du natürlich beliebig erweitern und kombinieren, siehe WoG's Post.

    Restrain the specimen!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!