Mail Server MailServer: Sieve Integration

Status
Für weitere Antworten geschlossen.

mace

Benutzer
Mitglied seit
14. Feb 2014
Beiträge
1
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

ich versuche Sieve zum Laufen zu bringen, da Regeln auf Benutzerbasis besonders wichtig für mich sind.
Da das Thema MailServer recht komplex ist, komme ich nicht alleine klar. Der Mailserver läuft ansonsten einwandfrei (inkl. Spamassassin).

Um so erfreuter war ich, als ich diesen, sogar ziemlich aktuellen, wiki-Eintrag gefunden habe.

Leider komme ich an einer Stelle nicht weiter. Beim editieren der dovecot.conf gibt es keinen Punkt "protocol lda". Ich gehe daher davon aus, dass entweder vorher etwas schiefgelaufen ist oder ich auf einer anderen Version arbeite. Da etliche diverse .conf-Dateien als !Include eingebunden sind, kann der Eintrag sonstwo stecken. Ich habe ihn bisher nicht geefunden.

Erst im Nachgang habe ich einen Thread gefunden, der besagt, dass die Sieve-Basis bereits im DSM 4.3 vorhanden ist. Da ich die Ordner-Strukturen und Abhängigkeiten noch nicht begriffen habe, scheue ich mich, die dovecot.conf einfach zu ergänzen. Bin halt lernender Linux-Anfänger. Das Web konnte mir bisher nicht helfen, da sämtliche Artikel/Threads auf "normalen" Linux-Installationen basieren.

Hat jemand einen Hinweis für mich?

Danke im Voraus!
 

Thargor

Benutzer
Mitglied seit
09. Jan 2010
Beiträge
21
Punkte für Reaktionen
0
Punkte
1
Hi,

hast du die Filterung inzwischen zum Laufen bekommen? Wenn ja, wie? Ich stehe vor dem gleichen Problem.

Vielen Dank!
 

carsten04

Benutzer
Mitglied seit
01. Okt 2010
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Moin,

genau das ist auch noch mein Problem. Nutze auch DSM 4.3. Situation genau identisch zur Schilderung von mace. Ich suche mir jetzt schon seit 6 Stunden nen Wolf und komme einfach nicht weiter. Die Einträge im wiki sind veraltet und passen nicht und hier im Forum hören die Antworten immer auf wenn es konkret wird (kein Vorwurf, bin nur etwas genervt weil ich es nicht hinbekomme). Also wer die Filter schon zum laufen bekommen hat (DSM 4.3), bitte hier einmal genau die Konfigurationsschritte schildern. das wäre einfach nur galaktisch. Ich danke euch.

Schönen Restsonntag
 

Joesix

Benutzer
Mitglied seit
08. Feb 2012
Beiträge
137
Punkte für Reaktionen
0
Punkte
0
Wenn ich mich richtig errinnere ist ausser einer Datei im $HOME Verzeichnis des Anwenders überhaupt keine Anpassung erforderlich.

Auszüge aus meiner /volume1/homes/username/.dovecot.sieve

Rich (BBCode):
require ["fileinto", "imap4flags", "reject"];

if header :contains "X-MailScanner-SpamScore" "ssssssssssssssssssss"
{
    setflag "\\Seen";
    fileinto "SpamKiller";
    stop;
}

elsif header :contains "from" ["modforum@xxxxx.org","admin@xxx,org] 
{ 
    discard; 
    stop; 
} 

elsif header :contains ["from","to","cc"] "werbung"
{
    fileinto "Commercial";
    stop;
}    

elsif header :contains ["from","to","cc"] ["familie@xxxx","family@xxxx"]
{
    fileinto "Familie";
    stop;
}    

...

else 
{
        keep;
}

So werden eingehende Mails direkt vom MailServer in die einzelnen IMAP Ordner sortiert
 

carsten04

Benutzer
Mitglied seit
01. Okt 2010
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hi Joesix,

danke für deine Antwort.Vielleicht ist es so einfach und ich kapiere es deswegen nicht. Was habe ich gemacht? Mailserver installiert und eingerichtet (smtp,imap,pop3). Funzt alles wie es soll. Als client dann mailstation (roundcube mit pop3) installiert. Klappt auch alles gut. Dann habe ich das Filter-Plugin von roundcube in der config hinzugefügt, also in main.inc.php den Eintrag $rcmail_config['plugins'] = array('managesieve'). Nach meinem Verständnis müssten doch jetzt in roundcube Filter erzeugt werden können, die dann eben von dem rc-Filter-Plugin in die .dovecot.sieve des jeweiligen users (home-Verzeichnis) geschrieben werden. Geht aber nicht. Immer wenn ich einen Filter anlegen will meldet rc die Fehlermeldung: Kann nicht zum sieve-server verbinden. Muss ich den Server noch separat starten? Ich dachte der wird direkt als Modul des Mailservers mitgestartet. Ich habe dann noch händisch ein leere .dovecot.sieve-Datei erzeugt, in der Hoffnung das der sieve-Server diese Datei braucht. Hat aber auch nicht geklappt. Also irgendwie habe ich gerade einen Knoten im Kopf. Irgendjemand eine Idee, wo mein Fehler ist?

Besten Dank
 

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
192
Punkte für Reaktionen
12
Punkte
24
Hallo,
ich hab genau das gleiche Problem wie carsten, das Plugin findet den Server nicht. Jedoch würde ich bevor ich mich um das Problem kümmere erstmal den Filter so laufen haben wie Joesix. Dazu habe ich auch einfach mal die Dateie .dovecot.sieve im Homeverzeichnis angelegt und meine Regel reinkopiert:
Rich (BBCode):
require "fileinto";
if header :contains "subject" "TEST" {                              
   fileinto "Testing"; 
   stop;                                      
} else {                                       
   keep; 
}

Ich möchte im Prinzip das wenn ein bestimmtes Wort im Betreff vorkommt, diese Mail in einen Unterordner verschoben wird. Der Ordner heißt im Filessystem tatsächlich ".Testing". Ich glaube aber der Punkt kann weggelassen werden. Auf jedenfall funktioniert es auch mit Punkt nicht.

Klappt aber leider nicht. Hat jemand eine Idee? Klappt den das bei DIr carsten? Oder hast Du das noch nicht versucht? Ich würde gerne erstmal das lösen um sicher zu sein das dovecot sieve funktioniert. In einem zweiten Schritt würde ich mich dann erst um das MailStation Plugin kümmern.

Meine DSM Version ist die 5.0-4493

Gruß mabox
 
Zuletzt bearbeitet:

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
192
Punkte für Reaktionen
12
Punkte
24
Hallo carsten,
also ich habe jetzt mal das Plugin im Roundcube bzw. in der Mailstation zum laufen bekommen.

Ich stehe ja im Prinzip an gleicher Position wie Du. Wenn man in der MailStation - Einstellungen auf den Filter klickt erhält man die Meldung keine Verbindung zum Sieve Server oder so ähnlich.
Ich bin jetzt nach diesem Link vorgegangen.

1. In Verzeichnis wechseln:
cd /volume1/@appstore/MailServer/etc/dovecot/conf.d
Datei umbenennen:
mv 20-managesieve.conf zzzz20-managesieve.conf

2. Datei "zzzz20-managesieve.conf" geöffnet und protocol aktiviert durch entfernen der #. Sieht dann also so aus:
protocols = $protocols sieve

3. In Verzeichnis wechseln
cd /volume1/@appstore/MailStation/roundcubemail/plugins/managesieve
Datei umbenennen
cp config.inc.php.dist config.inc.php

4. MailServer und MailStation durchgestartet. Das habe ich über die DSM Oberfläche getan im Paketzentrum erst die MailStation gestopp, MailServer gestopp, MailServer gestartet, MailStation gestartet

Der Rest der unter dem Link steht wegen dem Port habe ich nicht gemacht. Besonders schick finde ich das Ganze nicht, aber auf jedenfall bekomme ich jetzt keine Fehlermeldung mehr in der MailStation wegen der Verbindung zum Server und man kann Regeln definieren.

Allerdings funktionieren die Regeln trotzdem nicht. Meine Mails werden nicht in den gewünschten Unterordner verschoben wenn ich nicht an der MailStation angemeldet bin.
Wie kann man nur so eine Sache so kompliziert machen :-( :-( :-(

Gruß mabox
 

carsten04

Benutzer
Mitglied seit
01. Okt 2010
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hallo mabox,

du hast das Problem gelöst. Den Fehler hätte ich nie gefunden. Vielen Dank dafür. Du musst bei dir noch unter

/var/packages/MailStation/target/roundcubemail/plugins/managesieve in der config.inc.php den Port auf 4190 ändern, dann klappt es auch ohne permanent an der MailStation angemeldet zu sein.

Gruß
carsten
 

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
192
Punkte für Reaktionen
12
Punkte
24
Da steht bei mir "null". Das als ersetzen durch "4190"?

Klappt es den jetzt bei Dir? WEnn ich mir die Regeln die ich über Roundcube erstellt habe mir im Filesystem anschaue ,sehen die schonmal anders aus als überall beschrieben. Z.B. hören die nicht mit "keep" auf.
Also bei mir geht da nichts, auch nicht wenn ich angemeldet bin :-(

Gruß mabox
 
Zuletzt bearbeitet:

carsten04

Benutzer
Mitglied seit
01. Okt 2010
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hi mabox,

ja jetzt klappt alles perfekt. In meiner config.inc.php steht nicht null, sondern es stand:

// managesieve server port
$rcmail_config['managesieve_port'] = 2000;

und hier musst du ändern nach:

// managesieve server port
$rcmail_config['managesieve_port'] = 4190;

dann funzt alles.

Die Regeln müssen auch nicht mit keep aufhören.

Du nutzt ja eine DSM 5.0. Bei mir läuft noch eine DSM 4.3. Kann also sein, dass Synology beim Versionssprung noch Dateiänderungen vorgenommen hat. Das weiss ich aber nicht.

Gruß
carsten
 

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
192
Punkte für Reaktionen
12
Punkte
24
Muss man Firewalltechnisch noch was freischalten im DSM?
 

carsten04

Benutzer
Mitglied seit
01. Okt 2010
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Na klar. Du musst die imap-, pop3- und smtp-ports freischalten, sonst geht ja nichts zum Mailserver durch.
 

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
192
Punkte für Reaktionen
12
Punkte
24
ja aber die hab ich ja alle. Ich dachte an den 4190. Ansonsten funktioniert ja auch alles, nur eben die Mails mit eine bestimmten Wort im Betreff landen nicht in einem Ordner.
Was für Regeln hast Du erstellt? Wie sehen die im File direkt aus?
 

carsten04

Benutzer
Mitglied seit
01. Okt 2010
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
hi mabox,

den port 4190 musst du nicht in der fw freigeben. Das ist nur der "interne" sieve-port auf dem der Server "lauscht", wenn neue emails via imap, oder pop3 über den MailServer "reinkommen", damit er die emails in die richtigen Postfächer (die du über die rc-Filterregeln bestimmt hast) einordnen kann.

Eine einfache und funktionierende, durch rc angelegte Filterregel sieht z.B. so aus:

require ["fileinto"];
# rule:[typo3]
if anyof (header :contains "Subject" "typo3")
{
fileinto "INBOX.typo3";
}


Gruß
carsten
 

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
192
Punkte für Reaktionen
12
Punkte
24
Also bei mir gehts nicht. Wie sieht den Deine MailStation Konfiguration aus? Also ich habe mehrere POP Konten eingebunden die dann abgefragt werden. Das passiert dann doch aber auf der MailStation oder? Also das ist doch der MailServer dann nicht mit im Spiel. Diese dovecot Konfigurationen sind doch aber beim Server......

Also wie sieht das bei Euch aus?
 

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
192
Punkte für Reaktionen
12
Punkte
24
Was steht bei Dir sonst noch so config.inc.php aus? Was steht z.B. unter $rcmail_config['managesieve_host'] = ?
Kannst Du mal Deine Dateiinhalt posten bitte?
 

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
192
Punkte für Reaktionen
12
Punkte
24
Hi Carsten,
also wenn Du Zeit und Lust hast meld Dich mal und poste oder beschreibe mal noch wie Du die MailStation konfiguriert hast. Ich denke daran könnte es liegen das ich POP mache. Sieve geht vielleicht nur mit IMAP........
 

fakeUser

Benutzer
Mitglied seit
08. Aug 2014
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hi Carsten und mabox,

seid ihr zu einer Lösung gekommen? Ich stehe jetzt vor demselben Problem. MailServer und MailStation sind eingerichtet und funktionieren gut. Filterregeln sind ebenfalls eingerichtet mittels .dovecot.sieve im home Verzeichnis und funktionieren auch korrekt für einkommende Mails an meine eigens für den MailServer eingerichteten Mail-Adresse (eigene Domain + angepasster MX-Eintrag). Darüber hinaus habe ich aber in MailStation noch externe POP3 Server zum Abholen von weiteren Mails eingetragen (GMX, Gmail, etc). Für diese Mails jedoch funktionieren die Filter nicht.
 

fakeUser

Benutzer
Mitglied seit
08. Aug 2014
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Ich habe es inzwischen selbst hinbekommen, ich nutze DSM 5.0 und man benötigt keine inoffiziellen Pakete, d.h. man muss nichts selbst kompilieren, die Synology Pakete MailServer und MailStation bringen bereits alles Notwendige mit:

1. Eingehende Mails beim MailServer werden mittels dovecot.sieve im Benutzer home-Verzeichnis gefiltert.
2. Eingehende Mails bei der MailStation via externe POP3 Abrufe werden mittels procmailrc gefiltert.

zu 1:
Ist inzwischen gut erklärt hier im Forum

zu 2:
Nehmen wir an, wir wollen noch einen GMX Account abrufen und die POP3 Abfrage ist mittels roundcube entsprechend eingerichtet. Nehmen wir weiterhin an, dass es sich um die E-Mail Adresse testmuster@gmx.de handelt und der Synology Benutzer, mit dem wir uns bei roundcube anmelden testuser heisst und dass sich alles auf volume1 befindet.

Dann werden hier /volume1/@appstore/MailStation/roundcubemail/ext/ ein paar Dateien angelegt, unter anderem

fetchmailrc
procmailrc
testuser.proc.testmuster.gmx.de
testuser_fetch

Das schöne daran ist, dass fetchmail bereits automatisch so konfiguriert ist, dass es procmail als LDA benutzt, also alle Mails an procmail weiterreicht. Das Einzige, was man selbst erledigen muss, ist procmail die Filterregeln mitzuteilen. Dies kann man in testuser.proc.testmuster.gmx.de, standardmäßig steht dort am Ende nur

:0
.Maildir/

D.h. alles was über den GMX POP3 Abruf reinkommt landet in INBOX. Stattdessen könnte man bspw.

:0:
* ^Subject:.*filtertest
.Maildir/.INBOX.FilteredMails/

schreiben um alle Mails, die im Betreff das Wort "filtertest" enthalten in den Unterordner FilteredMails zu verschieben. Funktioniert bei mir wunderbar.

Vorteil:
- Alles quasi out-of-the-box mit den Standard-Synology-Paketen, kein selber kompilieren/installieren inoffizieller Pakete notwendig, keine sonstigen Einstellungen notwendig, lediglich das Definieren der Filter muss noch erledigt werden.

Nachteil:
- Es gibt unterschiedliche Stellen mit unterschiedlicher Syntax um die Filter zu definieren, dovecot.sieve für MailServer und procmail für MailStation
- Wenn man mit MailStation mehrere externe Accounts via POP3 abholt, bekommt man auch mehrere Dateien nach dem Muster testuser.proc.testmuster.gmx.de (bspw. testuser.proc.anotherMailAdress.gmail.com), auch hier müssen unter Umständem die Filter entsprechend angegeben werden, je nach dem, wie komplex Euer Szenario ist.
 
Zuletzt bearbeitet:

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
192
Punkte für Reaktionen
12
Punkte
24
Hi fakeUser,
kam leider noch nicht dazu zu antworten, aber ich bin in der Sache damals nicht weitergekommen und habe es daher bis heute nicht gelöst.Das Problem war für mich dann damals der Anlass solche Dienste nicht mehr auf der Synology auszuführen. Hat mich gestört ewig zu suchen und herauszufinden wo was Synology angepasst/verändert hat. Mittlerweile ist die NAS jetzt nur noch mein "Fileserver".
Der Mailserver läuft bei mir mittlerweile auf einem kleinen NUC PC mit openSUSE drauf und dort konnte ich das Problem dann auch für mich lösen. Da war es ziemlich einfach zu machen mit Postfix/Dovecot/Fetchmail.

Danke auf jedenfall für Deine Lösung...
Gruß mabox
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat