Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:sysadmin:tools:sieve

SIEVE Mailsortierung (mein Sieve-Script)

Sieve ist eine Möglichkeit, sich mit seinem IMAP-Server (z.B. Dovecot, Cyrus) über die Mailsortierung einig zu werden. (Eine andere Methode ist Maildrop)

Mein Sieve-Script

(etwas anonymisiert :-) und gekürzt)

# sieve-mailsortierung

require ["fileinto", "reject","regex" ];

# alarme

if anyof (address :contains "From" [
                              "nagios@", 
                              "report@",
                              "bb@"
                             ]
)
{
  fileinto "INBOX.01_alarm";
  stop;
}

# redirects
elsif anyof (header :contains "Subject" ["TODO"])
{
fileinto "INBOX.00_todo";
stop;
}


# Ticket-Tools
elsif allof (header :matches "From" "web-support@firma1.example.net",
            header :contains "Subject" "[#")
{
fileinto "INBOX.00_tickets";
stop;
}

elsif allof (header :matches "From" "meinegruppe@firma1.example.net",
            header :contains "Subject" "Bugzilla")
{
fileinto "INBOX.00_tickets";
stop;
}

# die meisten menschen haben einen Punkt im localpart der Mailadresse
# (in der Hoffnung, dass Maschinen das nicht haben)
elsif address :contains :localpart "from" "."
{
fileinto "INBOX.00_menschen";
stop;
}

# Von Kunden "company2.example.com" bekomme ich nur Mails von Menschen (ohne Punkt im Localpart)
elsif address :contains :domain "from" "@company2.example.com"
{
fileinto "INBOX.00_menschen";
stop;
}


# cronjobs und aehnlicher kram, den ich nicht laenger aufheben will

elsif allof (address :matches "From" "autouser@",
          header :matches "Subject" ["Autouser:CRONJOB"])
{
  fileinto "INBOX.01_maschinen.cron-jobs-2tage";
  stop;
}

elsif anyof (address :contains "From" [
                                  "logtransfer@",
                                  "logtrans@",
				  "Cron Daemon",
                                  "autouser2@",
                                  "oracle@",
                                  "MAILER-DAEMON@",
                                  "backup@",
                                  "mysql@"
                                     ])
{
  fileinto "INBOX.01_maschinen.cron-jobs-2tage";
  stop;
}

#Subject: Unzustellbar usw (ich bin dort nicht der Postmaster ...)
elsif anyof (header :matches "subject" [
                                  "Unzustellbar: Ihre Registrierung",
                                  "Unzustellbar: Weiterempfehlen",
                                  "Undeliverable: Ihre Registrierung"
                                  ]
)
{
  fileinto "INBOX.01_maschinen.cron-jobs-2tage";
  stop;
}


# alles andere in meine spezial-inbox ...
else
{
  fileinto "inbox.00_inbox";
  stop;
}
# ENDE
de/sysadmin/tools/sieve.txt · Zuletzt geändert: 2012-04-02 22:06 von hella

Seiten-Werkzeuge