ubuntuusers.de

Sieve Filter Global und Userspezifisch

Status: Ungelöst | Ubuntu-Version: Server 12.04 (Precise Pangolin)
Antworten |

babasven

Anmeldungsdatum:
13. März 2008

Beiträge: Zähle...

Wohnort: Werder / Havel

Hallo@all, Ich schlage mich seit einem Weilchen mit Sieve-Filterung herum und habe dabei auch schon eine ganze Menge erfolgreich erledigen können. Jedoch scheitere ich derzeit noch an der folgenden Konstellation:

Hintergrund: Ich bin Mailadmin einer kleinen IT-Abteilung und wir setzen bereits erfoilgreich Dovecot als LDA mit Serverfilterung ein. Jeder Benutzer kann problemlos Filterregeln erstellen, die für ihn gelten (zur Erleichterung meiner Kollegen nutzen wir dafür das Roundcube-Plugin). Ich kann auch globale Regeln formulieren, die dann für alle gelten. Die einzelnen Benutzer erstellen sich weiterleitungen ihrer Mails nach Hause (a la redirect :copy "users@theirhomes.de"; ) Laut Geschäftspolitik dürfen bestimmte Dateitypen (z.B. avi, mp4, mp3, wav usw.) nicht nach außen versandt werden. Unsere Telefonanlage macht intern jedoch genau das - sie versendet Mails mit MP3-Anhängen bei Abwesenheit. Diese MAils dürfen natürlich nicht nach draußen weiter geleitet werden. Dafür habe ich auch eine globale Regel erstellt, die diese Dateien nicht weiterleitet (einfach Kommando stop) Jedoch folgt danach die Benutzerregel mit der Weiterleitung und die Mail wird dennoch versandt.

FRAGE: Kann ich irgendwie dovecot dazu veranlassen, die im globalen Filterset abgehandelten Mails nicht mehr benutzerspezifisch zu filtern? Die Mails müssen direkt im Posteingang verbleiben!

Zur Konfiguration: die dovecot.conf (Auszug, logo!):

plugin {
  sieve = /home/%n/.dovecot.sieve
  sieve_dir = /home/%n/.mailstore/sieve
  sieve_global_dir = /etc/dovecot/sieve/
  sieve_before = /etc/dovecot/sieve/global
}

Die /etc/dovecot/sieve/global:

require ["vacation","copy","fileinto","body","imap4flags"];
# rule:[Redirect]
if anyof(header :contains "From" "f...ing.telefonanlage@firma.intern", header :contains "Subject" "Sprachnachricht")
{
        stop;
}

Die Benutzer haben jeweils Regeln nach folgendem Muster:

# rule:[Redirect]
if true
{
	redirect :copy "users@theirhomes.de";
}

Ich hoffe mal, mich nicht zu verklausuliert ausgedrückt zu haben. Ich bin mir sicher, dass die Lösung total banal sein muss, stehe aber gerade mächtig auf dem Schlauch. Für Eure Hilfe wäre ich echt dankbar. Gruß

Sven

P.S. Klar bin ich mir bewusst, dass einfach die Benutzerfilter aufgebohrt werden könnten. Da aber nicht alle Kollegen... sagen wir entsprechend firm... sind, würde ich den Pflegeaufwand gern gering halten und dieses Ausnehmen vo der weiterleitung zentralisieren.

hoerianer

Anmeldungsdatum:
14. August 2012

Beiträge: 3156

Hallo,

was für einen Mailserver nutzt Du? Ich würde die ausgehenden Mails durch eine Art Spamfilter laufen lassen und unerwünschte Anhänge filtern. Mit Postfix sollte das machbar sein.

TheDarkRose

Avatar von TheDarkRose

Anmeldungsdatum:
28. Juli 2010

Beiträge: 3459

Ich habe es zwar noch nie benutzt, aber dafür würde sich policyd am sicher gut eignen.

babasven

(Themenstarter)

Anmeldungsdatum:
13. März 2008

Beiträge: 3

Wohnort: Werder / Havel

Hall o und danke für die Mühe! Der Mailserver (lda) ist wie beschrieben dovecot. Ich habe das Problem mittlerweile Dank der dovecot-mailingliste lösen können. Ich musste nur im globalen Filter die Mail explizit in den posteingang schieben (in dem sie ja eigentlich eh schon liegt) und dann per exit die Abarbeitung beenden. So geht's. Lg Sven

TheDarkRose

Avatar von TheDarkRose

Anmeldungsdatum:
28. Juli 2010

Beiträge: 3459

policyd würde aber schon im Postfix arbeiten und generell Regeln setzten, dass bestimmte Mails nicht versendet werden.

Antworten |