Dovecote sieve, custom rules / rules dir automatisch anlegen
-
- Moderator
- Posts: 1246
- Joined: 2011-07-04 10:56
Dovecote sieve, custom rules / rules dir automatisch anlegen
Hallo,
die Kundenspezifische Filter Regeln können über z.B. Roundcube eingestellt werden und finden sich dann unter:
sieve = file:~/sieve;active=~/.dovecot.sieve
Soweit funktioniert das auch. Aber folgendes Problem:
Wenn neue Konten / Postfächer angelegt werden, fehlen die Dateien / Ordner.
Entsprechend werden Emails auch nicht zugestellt.
Wie kann man es gewährleisten, dass dovecot im idealfall die Dateien, ggf. auch ohne Regeln, anlegt?
die Kundenspezifische Filter Regeln können über z.B. Roundcube eingestellt werden und finden sich dann unter:
sieve = file:~/sieve;active=~/.dovecot.sieve
Soweit funktioniert das auch. Aber folgendes Problem:
Wenn neue Konten / Postfächer angelegt werden, fehlen die Dateien / Ordner.
Entsprechend werden Emails auch nicht zugestellt.
Wie kann man es gewährleisten, dass dovecot im idealfall die Dateien, ggf. auch ohne Regeln, anlegt?
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
-
- Project Manager
- Posts: 11186
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: Dovecote sieve, custom rules / rules dir automatisch anlegen
Sieh Dir mal "sieve_default", "sieve_global" und insbesondere "sieve_before" an:
https://wiki2.dovecot.org/Pigeonhole/Si ... figuration
https://wiki2.dovecot.org/Pigeonhole/Si ... figuration
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
-
- Moderator
- Posts: 1246
- Joined: 2011-07-04 10:56
Re: Dovecote sieve, custom rules / rules dir automatisch anlegen
Hi,
sieve_before habe ich schon eingerichtet.
Hier ziehen Regeln, die SPAM etc. filtern. Das gilt für alle.
Allerdings sollen die Kunden auch eigene Regeln erstellen können.
Hier kommt es nun zu Problemen, wenn Mailboxen neu eingerichtet werden, dann wird das erforderliche Verzeichnis sieve nicht automatisch erstellt. Ebenfalls, fehlt dann eine "Standart "Regel, damit die Zustellung funktioniert.
Erst wenn die angelegt wird, klappt dann auch zu Zustellung.
So meckert er rum, dass es das Verzeichnis nicht gibt und stellt die Email nicht zu.
sieve_before habe ich schon eingerichtet.
Hier ziehen Regeln, die SPAM etc. filtern. Das gilt für alle.
Allerdings sollen die Kunden auch eigene Regeln erstellen können.
Hier kommt es nun zu Problemen, wenn Mailboxen neu eingerichtet werden, dann wird das erforderliche Verzeichnis sieve nicht automatisch erstellt. Ebenfalls, fehlt dann eine "Standart "Regel, damit die Zustellung funktioniert.
Erst wenn die angelegt wird, klappt dann auch zu Zustellung.
So meckert er rum, dass es das Verzeichnis nicht gibt und stellt die Email nicht zu.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
-
- Project Manager
- Posts: 11186
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: Dovecote sieve, custom rules / rules dir automatisch anlegen
Dann fällt mir spontan nur noch ein, dass Anlegen des Verzeichnis und des Files bereits beim Erstellen des Mailaccounts zu erledigen.
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
-
- Moderator
- Posts: 1246
- Joined: 2011-07-04 10:56
Re: Dovecote sieve, custom rules / rules dir automatisch anlegen
Ja, das war ein bisherigen Workaround, da aber die Kunden auch selbst Postfächer anlegen können... Müsste ich mir den postfixadmin anpassen. Bzw. eigentlich müsste es dovecot machen. Klappt aber mit dem inbox Parameter nicht, wie gewünscht.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
-
- Posts: 297
- Joined: 2002-10-15 16:59
- Location: WHV
Re: Dovecote sieve, custom rules / rules dir automatisch anlegen
Mhh
Also User Regeln werden angelegt wenn sich die User welche erstellen, ob das Verzeichnis
existiert oder eine (Active) hat ist egal. Normale Mails wandern auch ohne fein
in die INBOX wie sie sollen (getestet über LMTP Übermittlung an DoveCot).
Sonst stimmt was generell nicht in deinem Setup.
Solltest du aber in einem Globalen Script (wie das before) bestimmt haben das Mails in bestimmte andere Mailordner sollen
die nicht existieren. Dann ist dein Script doof oder bestimmte andere Einstellungen nicht Optimal auf deine Bedürfnisse
angepasst.
Mögliche Lösungen ohne dein Setup zu kennen:
Dir fehlt evt. ein ":create" in der Action deines Sieve Scripts das einen Ordner auch anlegt wen er nicht
existiert.
z.B "fileinto :create "SpamOrdner";"
ODER
Du schaust dir die Option "lda_mailbox_autocreate" vom Dovecot an (is default off seit 2.0)
die Ordner anlegt wenn die unbekannt sind.
ODER
du schaust dir "mailbox und auto = subscribe" in der Namesspace config an.
https://wiki.dovecot.org/MailboxSettings
ODER
Wenn das alles zu scarry ist.. wie währe es mit einem LoginScript das ggf.
alles anlegen kann was du willst ?
https://wiki.dovecot.org/PostLoginScripting
ODER
Da du Postfixadmin erwähnst.
"mailbox_postcreation_script" Kann auch ein script aufrufen wenn es sein mus.
gruß
gierig
-
- Moderator
- Posts: 1246
- Joined: 2011-07-04 10:56
Re: Dovecote sieve, custom rules / rules dir automatisch anlegen
Hi,
es geht nur um die Custom Rules.
Sprich, wenn eine Mailbox ganz neu in Postfixadmin angelegt wird.
Konkret um diese dovecot Einstellung:
sieve = file:~/sieve/;active=~/.dovecot.sieve
Zu dem Zeitpunkt, wenn eine Neue Mailbox angelegt wird, gibt es weder den Ordner ./sieve/ wo die Regeln abgelegt werden, noch den Link: .dovecot.sieve.
Erst wenn ich das einmalig manuell anlege klappt es.
Ich habe es versucht mit namespace Einstellung zu lösen,
Leider löst das nicht das Problem, mit dem fehlenden Rulse Script. Auch wenn es erstmal leer ist und dem link dazu.
es geht nur um die Custom Rules.
Sprich, wenn eine Mailbox ganz neu in Postfixadmin angelegt wird.
Konkret um diese dovecot Einstellung:
sieve = file:~/sieve/;active=~/.dovecot.sieve
Zu dem Zeitpunkt, wenn eine Neue Mailbox angelegt wird, gibt es weder den Ordner ./sieve/ wo die Regeln abgelegt werden, noch den Link: .dovecot.sieve.
Erst wenn ich das einmalig manuell anlege klappt es.
Ich habe es versucht mit namespace Einstellung zu lösen,
Code: Select all
namespace inbox {
mailbox sieve {
}
}
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
-
- Posts: 297
- Joined: 2002-10-15 16:59
- Location: WHV
Re: Dovecote sieve, custom rules / rules dir automatisch anlegen
Hey,
Mich beschleicht das Gefühl wir reden einander vorbei.
Sieve Client etwas erstellt wird (und besonders auch den ".dovecot.sieve" link wieder löschen
wenn das Script deaktiviert wird...). Alternativ ist es natürlich möglich diese manual über
über ein Script im Vorfeld anzulegen.
namespace und Mailboxen definieren deine (IMAP) mailbox Struktur.
Sieve ist eine Filtersprache um Mail in ihren Boxen zu behandeln.
sollte und darf keinen Einfluss darüber haben ob eine Mail in die Inbox landet oder nicht.
Du schreibst eingangs aber das Mails nicht zugestellt werden. Das Klingt dann doch eher nach einer anderen Baustelle wo was klemmt.
Also was ist dein Ziel und was versuchst du bisher wie zu erreichen ?
Mich beschleicht das Gefühl wir reden einander vorbei.
Ack, as design. Dovecot wird den Ordner und den Link auf active Script anlegen sobald über einen
Sieve Client etwas erstellt wird (und besonders auch den ".dovecot.sieve" link wieder löschen
wenn das Script deaktiviert wird...). Alternativ ist es natürlich möglich diese manual über
über ein Script im Vorfeld anzulegen.
MailBox != Sieve. Das eine hat im gründe nichts mit dem anderen zu tun.Ich habe es versucht mit namespace Einstellung zu lösen,Code: Select all
namespace inbox { mailbox sieve { } }
namespace und Mailboxen definieren deine (IMAP) mailbox Struktur.
Sieve ist eine Filtersprache um Mail in ihren Boxen zu behandeln.
So welches Problem den genau ? Wie selbst geschrieben sind es Custom Regeln. Ob sie existieren (inklusive Ordner) oder nichtLeider löst das nicht das Problem, mit dem fehlenden Rulse Script. Auch wenn es erstmal leer ist und dem link dazu.
sollte und darf keinen Einfluss darüber haben ob eine Mail in die Inbox landet oder nicht.
Du schreibst eingangs aber das Mails nicht zugestellt werden. Das Klingt dann doch eher nach einer anderen Baustelle wo was klemmt.
Also was ist dein Ziel und was versuchst du bisher wie zu erreichen ?
-
- Moderator
- Posts: 1246
- Joined: 2011-07-04 10:56
Re: Dovecote sieve, custom rules / rules dir automatisch anlegen
Ich wiederhole es nochmals.
Das Problem:
Wird per Postfixadmin eine Neue Mailbox angelegt, existiert der Ordner ~/sieve nicht, legt er im Gegensatz zur den andren Mailbox Verzeichnissen auch nicht automatisch an.
Das wiederum führt in der Folge dazu, dass Emails nicht zugestellt werden.
Also dovecot an der Stelle einen Fehler meldet und die Lieferung ins Postfach verweigert.
Sobald der Ordner jedoch existiert, werden die Emails zugestellt.
Allerdings bemängelt dovecot dann immer noch den fehlenden Link und Regeln. Letzteres ist lediglich unschön.
Die gewünschte Lösung:
Sobald per Postfixadmin eine Mailbox angelegt wird, sollte der sieve Ordner inkl. einer Standardregel und link angelegt werden. Der fehlende Ordner verursacht Probleme bei der Mailzustellung.
Die fehlende Regel und Link sind eher Kosmetik. Das System bemängelt es, es wäre aber schön, wenn es keine Fehlermeldungen gäbe. Hier wäre eine Datei, wenn auch ohne Regeln und Link ausreichend.
Die Frage wäre also, ist das konfigurativ lösbar oder brauche ich da eine selbst gestrickte Lösung. So jedenfalls ist es weder für uns als Betreiber noch für den Kunden schön, wenn er sich schlussendlich doch wieder bei uns melden muss.
Das Problem:
Wird per Postfixadmin eine Neue Mailbox angelegt, existiert der Ordner ~/sieve nicht, legt er im Gegensatz zur den andren Mailbox Verzeichnissen auch nicht automatisch an.
Das wiederum führt in der Folge dazu, dass Emails nicht zugestellt werden.
Also dovecot an der Stelle einen Fehler meldet und die Lieferung ins Postfach verweigert.
Sobald der Ordner jedoch existiert, werden die Emails zugestellt.
Allerdings bemängelt dovecot dann immer noch den fehlenden Link und Regeln. Letzteres ist lediglich unschön.
Die gewünschte Lösung:
Sobald per Postfixadmin eine Mailbox angelegt wird, sollte der sieve Ordner inkl. einer Standardregel und link angelegt werden. Der fehlende Ordner verursacht Probleme bei der Mailzustellung.
Die fehlende Regel und Link sind eher Kosmetik. Das System bemängelt es, es wäre aber schön, wenn es keine Fehlermeldungen gäbe. Hier wäre eine Datei, wenn auch ohne Regeln und Link ausreichend.
Die Frage wäre also, ist das konfigurativ lösbar oder brauche ich da eine selbst gestrickte Lösung. So jedenfalls ist es weder für uns als Betreiber noch für den Kunden schön, wenn er sich schlussendlich doch wieder bei uns melden muss.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
-
- Posts: 297
- Joined: 2002-10-15 16:59
- Location: WHV
Re: Dovecote sieve, custom rules / rules dir automatisch anlegen
Ich wiederhole mich auch:Ich wiederhole es nochmals.
Das Problem:
Wird per Postfixadmin eine Neue Mailbox angelegt, existiert der Ordner ~/sieve nicht, legt er im Gegensatz zur den andren Mailbox Verzeichnissen auch nicht automatisch an.
Das wiederum führt in der Folge dazu, dass Emails nicht zugestellt werden.
Also dovecot an der Stelle einen Fehler meldet und die Lieferung ins Postfach verweigert.
Sieve Verzeichnis und Link zum aktiven Script werden angelegt sobald ein Sieve Client ein Script erstellt.
Das nicht vorhanden sein des Verzeichnis oder Links oder eines Script führt nicht und darf auch nicht dazu führen
das Mails nicht zugestellt werden.
Wenn bei Dir Mails nicht zugestellt werden weil das User Sieve Verzeichnis nicht existiert hast du grundlegend
an einer andere stelle einen Bug.
Was wird den wo genau bemängelt ? (Logfile ?) Wer sagt mit welcher Meldung das Die Mail nicht einsortiert werden kann ?
Und Ja wenn ich DEBUG einschalte bekomme ich auch so was
Code: Select all
Debug: : sieve: file storage: Storage path `/var/vmail/example.com/gierig/sieve' not found
Debug: : sieve: file storage: Storage path `/var/vmail/example.com/gierig/sieve/active-script.sieve' not found
Debug: : sieve: storage: No default script location configured
Debug: : sieve: User has no personal script
Dovecot macht weiter uns stellt die Mail in die Box. Die Meldungen tauchen im normalen Log auch nicht auf
(warum auch es ist ja kein Fehler nur der hinwies im Debug das der kram nicht existiert)
Als Sieve User kann ich doch auch jederzeit mein Script löschen. Dann ist es auch weg oder
deaktivieren dann ist der Link Weg (einige Sieve Clients legen aber ein leeres Script an und aktivieren das)
Mails landen nicht im Postfach wenn versucht wird über ein Globales Script (die before oder After scripte bei DoveCot)
einen unter Ordner zu adressieren des es nicht gibt (daher gibt auch die :create Option in den sieve regeln, oder das autocreate in der Dovecot config das aus Kompatibilität mit 1.x Versionen noch existiert aber eingeschaltet werden muss)
-
- Moderator
- Posts: 1246
- Joined: 2011-07-04 10:56
Re: Dovecote sieve, custom rules / rules dir automatisch anlegen
Die Fehlermeldung ist ziemlich einfach:
Ich habe lediglich ~/sieve gelöscht.
mail.info
Das findet sich dann im mail.err
Jetzt lege ~/sieve wieder an mit mkdir.
Und schon kommt es an:
Noch als Nachtrag, die globalen Regeln liegen ganz woanders:
Ich habe lediglich ~/sieve gelöscht.
mail.info
Code: Select all
Jul 15 14:42:59 wep001aa postfix/lmtp[8872]: E48E9358A1: to=<support@example.com>, relay=mx.example.com[private/dovecot-lmtp], delay=0.06, delays=0.01/0/0.04/0, dsn=4.2.0, status=deferred (host mx.example.com[private/dovecot-lmtp] said: 451 4.2.0 <support@example.com> Temporarily unable to access necessary Sieve scripts (in reply to end of DATA command))
Code: Select all
Jul 15 14:41:40 wep001aa dovecot[6754]: lmtp(support@example.com)<8873><COX6OYR0LF2pIgAAiK8i3Q>: Error: sieve: file storage: Performing t_readlink() on active sieve symlink '(null)' failed: readlink() failed: Bad address
Jul 15 14:41:40 wep001aa dovecot[6754]: lmtp(support@example.com)<8873><COX6OYR0LF2pIgAAiK8i3Q>: Error: sieve: Failed to access active Sieve script in user storage `/var/vmail/example.com/support' (temporary failure)
Jul 15 14:42:59 wep001aa dovecot[6754]: lmtp(support@example.com)<8930><GdrqOtN0LF3iIgAAiK8i3Q>: Error: sieve: file storage: Performing t_readlink() on active sieve symlink '(null)' failed: readlink() failed: Bad address
Jul 15 14:42:59 wep001aa dovecot[6754]: lmtp(support@example.com)<8930><GdrqOtN0LF3iIgAAiK8i3Q>: Error: sieve: Failed to access active Sieve script in user storage `/var/vmail/example.com/support' (temporary failure)
Und schon kommt es an:
Code: Select all
Jul 15 14:46:25 wep001aa postfix/lmtp[9009]: 42AA0358CD: to=<support@example.com>, relay=mx.example.com[private/dovecot-lmtp], delay=0.07, delays=0.01/0/0/0.05, dsn=2.0.0, status=sent (250 2.0.0 <support@example.com> WF/iEKF1LF0yIwAAiK8i3Q Saved)
Jul 15 14:46:25 wep001aa postfix/qmgr[7703]: 42AA0358CD: removed
Code: Select all
sieve_before = /var/vmail/sieve-after/spam-to-foler.sieve
global_script_path = /etc/sieve/globalsieverc
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
-
- Posts: 297
- Joined: 2002-10-15 16:59
- Location: WHV
Re: Dovecote sieve, custom rules / rules dir automatisch anlegen
Mhh ich dachte erst anhand der Fehlermeldung OK er den Sieve Ordner gelöscht aber nicht den Link.
Habs bei mir getestet und funktioniert trotzdem....
Welche Version von Dovecot & pigeonhole hast du im Einsatz ? (doveconf -d ganz oben)
bei der 0.4.6 gab es wohl ein paar Probleme.
(ich fahre 2.2.3x mit pigeonhole 0.4.2x)
ganz unten hattest du noch
global_script_path klingt dovecot < 1.0.1 und damit CMUSieve (cyrus Backport nach Dovecot)
hast du evt. noch andere config Überreste aus alten tagen ? Irgendwas was auf den Sieve Ordner zugreifen
will (wie vacation oder dergleichen)
Verzeichnisrechte oder ein wild gewordenes AppArmor ist bestimmt auch schon geprüft (ich stochere ein wenig)
Habs bei mir getestet und funktioniert trotzdem....
Welche Version von Dovecot & pigeonhole hast du im Einsatz ? (doveconf -d ganz oben)
bei der 0.4.6 gab es wohl ein paar Probleme.
(ich fahre 2.2.3x mit pigeonhole 0.4.2x)
ganz unten hattest du noch
Code: Select all
global_script_path = /etc/sieve/globalsieverc
hast du evt. noch andere config Überreste aus alten tagen ? Irgendwas was auf den Sieve Ordner zugreifen
will (wie vacation oder dergleichen)
Verzeichnisrechte oder ein wild gewordenes AppArmor ist bestimmt auch schon geprüft (ich stochere ein wenig)
-
- Moderator
- Posts: 1246
- Joined: 2011-07-04 10:56
Re: Dovecote sieve, custom rules / rules dir automatisch anlegen
# 2.3.3 (dcead646b): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.3 (f018bbab)
# OS: Linux 4.12.14-lp151.28.7-default x86_64
Bei der Konfiguration habe ich mich an die vorhandenen Beispiele gehalten und nein, es gibt keine weitere Konfigurationen. Ich habe auf die includes verzichtet und alles in die dovecot.conf gepackt um den Überblick zu behalten.
Distribution ist Opensuse, mit der ich auch am mysql Support des Postfix kämpfe.
Btw. ich hab mir kürzlich eine andere Distribution gezogen und postfix 3.3.1 dort manuell gebaut. Klappte dort, wie erwartet.
Apparmor sollte / dürfte nicht aktiviert sein. Aber ausschliessen kann ich es nicht.
Verzeichnisrechte passt natürlich, gehört alles dem Benutzer vmail.
Sonst könnte er auch grundsätzlich keine Emails einliefern, oder das Postfach anlegen. Das wiederum klappt ja. Daher der Versuch / Überlegung es mit namespace zu lösen. Roundcube, legt hinterher folgerichtig die Regeln an, wenn man es denn nutzt. Aber ohne das Verzeichnis klappt es nicht.
Wo müsste ich denn schauen, um heraus zu finden, ob mir Apparmor dazwischen funkt?
Den Parameter habe ich aus der Besiepielkonfiguration / Vorlage. Wird nicht genutzt ist lediglich als Vorbereitung für denn Fall, dass.
# Pigeonhole version 0.5.3 (f018bbab)
# OS: Linux 4.12.14-lp151.28.7-default x86_64
Bei der Konfiguration habe ich mich an die vorhandenen Beispiele gehalten und nein, es gibt keine weitere Konfigurationen. Ich habe auf die includes verzichtet und alles in die dovecot.conf gepackt um den Überblick zu behalten.
Distribution ist Opensuse, mit der ich auch am mysql Support des Postfix kämpfe.
Btw. ich hab mir kürzlich eine andere Distribution gezogen und postfix 3.3.1 dort manuell gebaut. Klappte dort, wie erwartet.
Apparmor sollte / dürfte nicht aktiviert sein. Aber ausschliessen kann ich es nicht.
Verzeichnisrechte passt natürlich, gehört alles dem Benutzer vmail.
Sonst könnte er auch grundsätzlich keine Emails einliefern, oder das Postfach anlegen. Das wiederum klappt ja. Daher der Versuch / Überlegung es mit namespace zu lösen. Roundcube, legt hinterher folgerichtig die Regeln an, wenn man es denn nutzt. Aber ohne das Verzeichnis klappt es nicht.
Wo müsste ich denn schauen, um heraus zu finden, ob mir Apparmor dazwischen funkt?
Den Parameter habe ich aus der Besiepielkonfiguration / Vorlage. Wird nicht genutzt ist lediglich als Vorbereitung für denn Fall, dass.
Code: Select all
global_script_path = /etc/sieve/globalsieverc
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
-
- Moderator
- Posts: 1246
- Joined: 2011-07-04 10:56
Re: Dovecote sieve, custom rules / rules dir automatisch anlegen
Noch ein Nachtrag,
das Setup habe ich ursprünglich auf einem vHost aufgebaut und verprobt. Auch damals zunächst frisch und Neu aus der Konfigurationsvorlage. Diese entsprechend angepasst. Sowohl mit opensuse 15.0 als auch 15.1 gab es einige fast identische Probleme. Jetzt muss ich aktuell mit dem Konstrukt des Mailservers leben, da opensuse 42.3 aus dem Support raus ist. Schade insgesamt, aber ich bin aktuell am überlegen ob wir uns von Opensuse für die kommende Zeit verabschieden. Hat die letzten 5 Jahre insgesamt gut funktioniert.
das Setup habe ich ursprünglich auf einem vHost aufgebaut und verprobt. Auch damals zunächst frisch und Neu aus der Konfigurationsvorlage. Diese entsprechend angepasst. Sowohl mit opensuse 15.0 als auch 15.1 gab es einige fast identische Probleme. Jetzt muss ich aktuell mit dem Konstrukt des Mailservers leben, da opensuse 42.3 aus dem Support raus ist. Schade insgesamt, aber ich bin aktuell am überlegen ob wir uns von Opensuse für die kommende Zeit verabschieden. Hat die letzten 5 Jahre insgesamt gut funktioniert.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
-
- Posts: 297
- Joined: 2002-10-15 16:59
- Location: WHV
Re: Dovecote sieve, custom rules / rules dir automatisch anlegen
Konnte so nichts auffälliges zu der version finden. Sollte also erstmal ok sein.
aa-unconfined & aa-status geben erstmal eine Auskunft ob ein DoveCot Regelsatz überhaupt aktiv istApparmor sollte / dürfte nicht aktiviert sein. Aber ausschliessen kann ich es nicht.
Wo müsste ich denn schauen, um heraus zu finden, ob mir Apparmor dazwischen funkt?
sonst syslog oder ggf. zum test einfach kurz abschalten.
Und das ist das seltsame, es wird bei mit einfach angelegt sobald ein SieveClient (wie Roundcube filter Plugin)....Aber ohne das Verzeichnis klappt es nicht.
da was speichern möchte. Selbst wenn ich dem parent Verzeichnis die schreibrechte entziehe und DoveCot das Sieve Verzeichnis nicht anlegen kann werden mails trotzdem zugestellt. (schreibrechte ins Maildir sind natürlich gegeben). auch wenn der Link ins leere zeigt ist alle immer noch fein und mails kommen an...
Kopfkratz
Als workaround bietet sich wirklich an das Verzeichnis manual anzulegen über ein
mit all den Rattenschwanz dem Webserver oder PHP direkt oder indirekt zu erlauben im Mailstore rumzuwüten.// Script to run after creation of mailboxes.
// Note that this may fail if PHP is run in "safe mode", or if
// operating system features (such as SELinux) or limitations
// prevent the web-server from executing external scripts.
// Parameters: (1) username (2) domain (3) maildir (4) quota
// $CONF['mailbox_postcreation_script']='sudo -u courier /usr/local/bin/postfixadmin-mailbox-postcreation.sh';
$CONF['mailbox_postcreation_script'] = '';
-
- Moderator
- Posts: 1246
- Joined: 2011-07-04 10:56
Re: Dovecote sieve, custom rules / rules dir automatisch anlegen
Letzteres ist unschön und möchte ich vermeiden.
Zumal Webserver und Mailserver getrennte Systeme sind. Also auch aus Sicherheitsgründen keine direkter Zugriff erlaubt / erwünscht ist.
Ich habe dazu mal einen Bug eingestellt: https://bugzilla.opensuse.org/show_bug.cgi?id=1141833
Mal schauen, vielleicht wird es ein cronjob der auf Neue Postfächer prüft und das korrigiert.
Bezüglich dem unused Parameter bei postfix und mysql habe ich die Ursache gefunden:
https://bugzilla.opensuse.org/show_bug.cgi?id=1095144
Es ist ein Bug und es würde mich nun nicht wundern, wenn da noch mehr im Argen liegt.
Es funktioniert tatsächlich, wenn man die Vollen Pfad weg lässt und nur die Datei benennt.
Zumal Webserver und Mailserver getrennte Systeme sind. Also auch aus Sicherheitsgründen keine direkter Zugriff erlaubt / erwünscht ist.
Ich habe dazu mal einen Bug eingestellt: https://bugzilla.opensuse.org/show_bug.cgi?id=1141833
Mal schauen, vielleicht wird es ein cronjob der auf Neue Postfächer prüft und das korrigiert.
Bezüglich dem unused Parameter bei postfix und mysql habe ich die Ursache gefunden:
https://bugzilla.opensuse.org/show_bug.cgi?id=1095144
Es ist ein Bug und es würde mich nun nicht wundern, wenn da noch mehr im Argen liegt.
Es funktioniert tatsächlich, wenn man die Vollen Pfad weg lässt und nur die Datei benennt.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
-
- Posts: 297
- Joined: 2002-10-15 16:59
- Location: WHV
Re: Dovecote sieve, custom rules / rules dir automatisch anlegen
Mhhh die Links im dem Postfix Bug sind interessant. Schaut so aus als wenn der " M4 macro processor" gefehlt hat
auf dem Buildsystem und Postfix da keinen Fehler geschmissen hat.
Dovecot nutzt auch M4 Scripts in ihren Sourcen (der M4 ist ja weder neu noch selten).
Evt. kommt ein selber bauen in frage ?
auf dem Buildsystem und Postfix da keinen Fehler geschmissen hat.
Dovecot nutzt auch M4 Scripts in ihren Sourcen (der M4 ist ja weder neu noch selten).
Evt. kommt ein selber bauen in frage ?
-
- Moderator
- Posts: 1246
- Joined: 2011-07-04 10:56
Re: Dovecote sieve, custom rules / rules dir automatisch anlegen
Selber bauen, wäre eine alternative .... aber dann müsste ich auch die Hotfixes etc. pflegen. Ds versuche ich eher zu vermeiden. Schauen wir mal, ob und wann Sie es lösen.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
-
- Moderator
- Posts: 1246
- Joined: 2011-07-04 10:56
Re: Dovecote sieve, custom rules / rules dir automatisch anlegen
So, vier Jahre später......
Upgrade auf Sles 15.4 und gestern der Umzug auf Ubuntu. Neuer Mailserver neues Glück und irgendwie ist es jedes mal eine neue Herausforderung.
Egal ob ich globale, bevore oder after sieve Script eingebunden habe.
-> Existiert in der Mailbox des Benutzer als der Ordner sieve nicht: sieve = file:~/sieve/;active=~/.dovecot.sieve
Dann verschwindet die Email in nirwana und im errr Log findet sich die Meldung, dass er das Verzeichnis nicht findet.
Auf Seite Opensuse habe ich es mit folgender Konfiguration geschafft.
Ich gebe zu, in der alten Welt habe ich nicht so sauber gearbeitet und alle Konfigurationen in der dovecot.conf zusammen gefasst.
In der Neuen Welt wiederum bin ich konsequenter den Weg der einzelnen Konfigurationdateien gegangen.
Auf Ubuntu 22.04 sieht die Lösung wie folgt aus:
Ich bin viele Schleifen gegangen und hatte zunächst versucht die Mailboxkonfiguration von OpenSuse, ebenfalls dovecot 2.3, 1:1 zu übernehmen.
Das hat mit wirklich teils sehr seltsamen Ergebnissen nicht geklappt.
-> Häufiger war das Postfach mit vielen Verzeichnissen und Unterverzeichnissen versehen. z.B. "INBOX 1 1 1 1 1"
Der Ordner sieve bzw. hier richtiger .sieve wurde nie angelegt.
Daher die Idee es ernut als inbox zu lösen.
Sektion namespace:
/etc/dovecot/conf.d/10-mail.conf
/etc/dovecot/conf.d/15-mailboxes.conf
Mit Ubuntu 22.04 ergaben sich noch weitere unterschiede zwischen deovecot auf Opensuse 15.4 und Ubuntu 22.04.
Somit musste ich über einen prefix arbeiten.
Unschön daran: Ein Kunde sieht den Ordner je nach E-mail Client und könnte diesen löschen.
Upgrade auf Sles 15.4 und gestern der Umzug auf Ubuntu. Neuer Mailserver neues Glück und irgendwie ist es jedes mal eine neue Herausforderung.
Egal ob ich globale, bevore oder after sieve Script eingebunden habe.
-> Existiert in der Mailbox des Benutzer als der Ordner sieve nicht: sieve = file:~/sieve/;active=~/.dovecot.sieve
Dann verschwindet die Email in nirwana und im errr Log findet sich die Meldung, dass er das Verzeichnis nicht findet.
Auf Seite Opensuse habe ich es mit folgender Konfiguration geschafft.
Code: Select all
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
mailbox sieve {
}
prefix =
}
In der Neuen Welt wiederum bin ich konsequenter den Weg der einzelnen Konfigurationdateien gegangen.
Auf Ubuntu 22.04 sieht die Lösung wie folgt aus:
Ich bin viele Schleifen gegangen und hatte zunächst versucht die Mailboxkonfiguration von OpenSuse, ebenfalls dovecot 2.3, 1:1 zu übernehmen.
Das hat mit wirklich teils sehr seltsamen Ergebnissen nicht geklappt.
-> Häufiger war das Postfach mit vielen Verzeichnissen und Unterverzeichnissen versehen. z.B. "INBOX 1 1 1 1 1"
Der Ordner sieve bzw. hier richtiger .sieve wurde nie angelegt.
Daher die Idee es ernut als inbox zu lösen.
Sektion namespace:
/etc/dovecot/conf.d/10-mail.conf
Code: Select all
namespace inbox {
inbox = yes
Code: Select all
namespace inbox {
separator = /
prefix = INBOX/ # Hier wird das Sieve-Verzeichnis "INBOX" genannt
location = maildir:~/mails/ # Passe dies entsprechend deiner Maildir-Struktur an
mailbox Drafts {
special_use = \Drafts
auto = subscribe
}
mailbox Junk {
special_use = \Junk
auto = subscribe
}
mailbox Sent {
special_use = \Sent
auto = subscribe
}
mailbox "Sent Messages" {
special_use = \Sent
auto = subscribe
}
mailbox Trash {
special_use = \Trash
auto = subscribe # Abonniere das Trash-Verzeichnis
}
mailbox sieve {
auto = create
}
}
Mit Ubuntu 22.04 ergaben sich noch weitere unterschiede zwischen deovecot auf Opensuse 15.4 und Ubuntu 22.04.
Somit musste ich über einen prefix arbeiten.
Unschön daran: Ein Kunde sieht den Ordner je nach E-mail Client und könnte diesen löschen.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
-
- Moderator
- Posts: 1246
- Joined: 2011-07-04 10:56
Re: Dovecote sieve, custom rules / rules dir automatisch anlegen
Erledigt.
Meine Idee war es, die Filterregeln im Benutzer-Postfach abzulegen. Leider hat es nicht funktioniert. Das sieve_dir sollte ab dem ersten Maileingang existieren. Es gibt keine elegante Lösung, um dies automatisch anzulegen. Zumindest keine, die nicht auf Post-Skripten aus Postfixadmin und sudo-Regeln zurückgreift.
Da die Benutzer jedoch sowieso die Regeln der anderen Benutzer nicht sehen können, wenn diese im gleichen sieve_dir liegen, habe ich folgende Lösung gefunden:
Das sieve_dir muss existieren, aber es stört Dovecot nicht, wenn keine Regeln vorhanden sind. Der entscheidende Punkt war, dass der Ordner existiert, und diesen Ordner lege ich während der Installation an.
Die Idee, den Ordner über ein Postfach anzulegen, ist daran gescheitert:
Der Benutzer muss sich per IMAP anmelden.
Er muss auf den Ordner zugreifen.
Erst dann legt Dovecot den Ordner physisch an.
Der Ordner für benutzerspezifische Regeln kann jetzt beispielsweise über die Einstellungen/Filter von Roundcube angelegt werden:
Sieve stört sich nicht an dem fehlenden benutzerspezifischen Ordner. Er stört sich nur daran, wenn das sieve_dir nicht existiert. Das Definieren von sieve_dir = ~/sieve war die Stolperfalle.
PS: Aktuell habe ich es mit Ansible geschafft, Webserver, Mailserver und Datenbankserver betriebsbereit einzurichten. Ich arbeite noch an den Webanwendungen wie phpmyadmin, postfixadmin, roundcube usw., damit ein kompletter Webserver mit Kundenzugängen auf "Knopfdruck" aufgebaut werden kann.
Aktuell berücksichtige ich Folgendes:
Installation des Betriebssystems
Aktualisierung des Betriebssystems (OS-Updates)
Installation von notwendigen Anwendungen für verschiedene Anwendungsbereiche (Mailserver, Webserver usw.) - zukünftig auch Docker und Kubernetes Cluster
Konfiguration von Apache Webserver, Postfix, Dovecot, rspamd, clamsmtp, vacation, Quota + Quota-Warnungen
Installation von SSL-Zertifikaten
Einrichtung von SFTP-Zugängen
Generieren von SSH-Keys für Kunden, die es selbst nicht können oder wollen
Installation von Webanwendungen wie postfixadmin (weitere wie roundcube, phpmyadmin, wordpress, shopware folgen)
Einrichtung von Datenbankzugängen und Datenbanken
Ausstehend: Durchführung der Webinstallation (WordPress, Shopware usw.) -> Die Webanwendungen werden nicht über die Pakete der Distribution, sondern direkt von den Entwicklern installiert
Noch offene Punkte:
Installation und spätere Erweiterung des Monitorings:
Icinga, Grafana
Prometheus - ich plane, dies höchstwahrscheinlich als Docker-Container zu installieren
Elastic Search
Alles ist so konfiguriert, dass der Anwender nur noch die Zugangsdaten eingeben muss und loslegen kann. Ich weiß, dass viele Dinge auch über Docker-Container gelöst werden könnten. Das war jedoch nicht mein Ansatz, da es für typisches Webhosting zu viel Planungsaufwand für Ports und Proxy-Regeln erfordert. Es ist jedoch möglich, dies auch mit Docker-Containern zu erreichen, wenn gewünscht.
In diesem Sinne, ein schönes Wochenende!
Meine Idee war es, die Filterregeln im Benutzer-Postfach abzulegen. Leider hat es nicht funktioniert. Das sieve_dir sollte ab dem ersten Maileingang existieren. Es gibt keine elegante Lösung, um dies automatisch anzulegen. Zumindest keine, die nicht auf Post-Skripten aus Postfixadmin und sudo-Regeln zurückgreift.
Da die Benutzer jedoch sowieso die Regeln der anderen Benutzer nicht sehen können, wenn diese im gleichen sieve_dir liegen, habe ich folgende Lösung gefunden:
Code: Select all
sieve_dir = /var/vmail/sieve
sieve = file:/var/vmail/sieve/%u.sieve;active=~/.dovecot.sieve
Die Idee, den Ordner über ein Postfach anzulegen, ist daran gescheitert:
Der Benutzer muss sich per IMAP anmelden.
Er muss auf den Ordner zugreifen.
Erst dann legt Dovecot den Ordner physisch an.
Der Ordner für benutzerspezifische Regeln kann jetzt beispielsweise über die Einstellungen/Filter von Roundcube angelegt werden:
Code: Select all
/var/vmail/sieve/benutzer@example.com/roundcube.sieve
PS: Aktuell habe ich es mit Ansible geschafft, Webserver, Mailserver und Datenbankserver betriebsbereit einzurichten. Ich arbeite noch an den Webanwendungen wie phpmyadmin, postfixadmin, roundcube usw., damit ein kompletter Webserver mit Kundenzugängen auf "Knopfdruck" aufgebaut werden kann.
Aktuell berücksichtige ich Folgendes:
Installation des Betriebssystems
Aktualisierung des Betriebssystems (OS-Updates)
Installation von notwendigen Anwendungen für verschiedene Anwendungsbereiche (Mailserver, Webserver usw.) - zukünftig auch Docker und Kubernetes Cluster
Konfiguration von Apache Webserver, Postfix, Dovecot, rspamd, clamsmtp, vacation, Quota + Quota-Warnungen
Installation von SSL-Zertifikaten
Einrichtung von SFTP-Zugängen
Generieren von SSH-Keys für Kunden, die es selbst nicht können oder wollen
Installation von Webanwendungen wie postfixadmin (weitere wie roundcube, phpmyadmin, wordpress, shopware folgen)
Einrichtung von Datenbankzugängen und Datenbanken
Ausstehend: Durchführung der Webinstallation (WordPress, Shopware usw.) -> Die Webanwendungen werden nicht über die Pakete der Distribution, sondern direkt von den Entwicklern installiert
Noch offene Punkte:
Installation und spätere Erweiterung des Monitorings:
Icinga, Grafana
Prometheus - ich plane, dies höchstwahrscheinlich als Docker-Container zu installieren
Elastic Search
Alles ist so konfiguriert, dass der Anwender nur noch die Zugangsdaten eingeben muss und loslegen kann. Ich weiß, dass viele Dinge auch über Docker-Container gelöst werden könnten. Das war jedoch nicht mein Ansatz, da es für typisches Webhosting zu viel Planungsaufwand für Ports und Proxy-Regeln erfordert. Es ist jedoch möglich, dies auch mit Docker-Containern zu erreichen, wenn gewünscht.
In diesem Sinne, ein schönes Wochenende!
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.