Problem mit sieve bei cyrus
Hallo, ich habe einen funktionierden cyrus laufen und wollte nun mal ein sieve-Skript ausprobieren. Zunächst hatte ich das Problem, dass erst nach dreimaligem Passwort-Eingabe das sieveshell-Prompt kam. Es fehlte die Datei /etc/sasldb2. Nach einem saslpasswd2 -c user mit dem user-Passwort war das behoben und keine Fehlermeldung mehr in den Log-Dateien.
sieveshell localhost connecting to localhost Please enter your password: list sieve_test <- active script get sieve_test require ["fileinto", "reject"]; if header :contains "subject" "sieve" { fileinto "pub.Mailinglists"; } else { fileinto "INBOX"; } quit
pub. Mailinglists ist ein "Shared folder". Mit cyradmin habe ich auch dem user Schreibzugriff darauf ermöglicht. Auch das Ändern der else-Bedingung (INBOX zu pub.Mailinglists) veranlasst sieve nicht dazu, Mails in das Verzeichnis zu verschieben. Irgendeine Idee? Wolfgang
Wolfgang Kleinbach wrote:
Hallo,
ich habe einen funktionierden cyrus laufen und wollte nun mal ein sieve-Skript ausprobieren.
Zunächst hatte ich das Problem, dass erst nach dreimaligem Passwort-Eingabe das sieveshell-Prompt kam. Es fehlte die Datei /etc/sasldb2. Nach einem saslpasswd2 -c user mit dem user-Passwort war das behoben und keine Fehlermeldung mehr in den Log-Dateien.
Die sasldb ist ein Fallback Mechanismus. Eigentlich sollte die Authentifikation über den für saslauthd eingestellten Mechanismus erfolgen. Was steht denn in /etc/sysconfig/saslauthd drin?
sieveshell localhost connecting to localhost Please enter your password: list sieve_test <- active script get sieve_test require ["fileinto", "reject"]; if header :contains "subject" "sieve" { fileinto "pub.Mailinglists"; } else { fileinto "INBOX"; } quit
pub. Mailinglists ist ein "Shared folder". Mit cyradmin habe ich auch dem user Schreibzugriff darauf ermöglicht. Auch das Ändern der else-Bedingung (INBOX zu pub.Mailinglists) veranlasst sieve nicht dazu, Mails in das Verzeichnis zu verschieben.
Irgendeine Idee?
/var/log/messages sollte etwas darüber wissen, dahin loggt Cyrus unter Suse normalerweise. Wenn deine Einstellungen ansonsten normal sind (kein hashed imap spool und kein unixhierarchy = yes), dann sollte es bei funktionieren. Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
Andre Tann wrote:
Sandy Drobic, Montag, 30. Oktober 2006 20:21:
kein unixhierarchy = yes
unixhierarchiysep meinst Du, oder?
So ist es. Irgendwie kann ich mir den genauen Namen dieser Option nie merken, ich muss es immer nachlesen. Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
Am Montag, 30. Oktober 2006 20:21 schrieb Sandy Drobic:
Zunächst hatte ich das Problem, dass erst nach dreimaligem Passwort-Eingabe das sieveshell-Prompt kam. Es fehlte die Datei /etc/sasldb2. Nach einem saslpasswd2 -c user mit dem user-Passwort war das behoben und keine Fehlermeldung mehr in den Log-Dateien.
Die sasldb ist ein Fallback Mechanismus. Eigentlich sollte die Authentifikation über den für saslauthd eingestellten Mechanismus erfolgen. Was steht denn in /etc/sysconfig/saslauthd drin?
SASLAUTHD_AUTHMECH=pam
/var/log/messages sollte etwas darüber wissen, dahin loggt Cyrus unter Suse normalerweise. Wenn deine Einstellungen ansonsten normal sind (kein hashed imap spool und kein unixhierarchy = yes), dann sollte es bei funktionieren.
Kein außergewöhnlichen Einstellungen. /var/log/messages sagt, dass die Mailbox nicht existiert. Ich kann aber mit cyradm nachschauen und da gib es die. Ich habe allerdings festgestellt, dass ich Fehlermeldungen erhalte, wenn ich in Kmail in Ordnern, die ich angelegt habe, weitere Ordner anlegen möchte. Da habe ich anscheinend keine Zugriffsberechtigung, obwohl ich auch das mit cyradm überprüft habe und dort auch Unterordner anlegen kann. Irgendwie bin ich jetzt etwas konfus. Hier mal meine etc/imapd.conf: configdirectory: /var/lib/imap partition-default: /var/spool/imap sievedir: /var/lib/sieve admins: cyrus allowanonymouslogin: no autocreatequota: 10000 reject8bit: no quotawarn: 90 timeout: 30 poptimeout: 10 dracinterval: 0 drachost: localhost sasl_pwcheck_method: saslauthd lmtp_overquota_perm_failure: no lmtp_downcase_rcpt: yes altnamespace: 1 tls_cert_file: /var/lib/imap/server.pem tls_key_file: /var/lib/imap/server.pem
Wolfgang Kleinbach wrote:
Am Montag, 30. Oktober 2006 20:21 schrieb Sandy Drobic:
Zunächst hatte ich das Problem, dass erst nach dreimaligem Passwort-Eingabe das sieveshell-Prompt kam. Es fehlte die Datei /etc/sasldb2. Nach einem saslpasswd2 -c user mit dem user-Passwort war das behoben und keine Fehlermeldung mehr in den Log-Dateien. Die sasldb ist ein Fallback Mechanismus. Eigentlich sollte die Authentifikation über den für saslauthd eingestellten Mechanismus erfolgen. Was steht denn in /etc/sysconfig/saslauthd drin?
SASLAUTHD_AUTHMECH=pam
/var/log/messages sollte etwas darüber wissen, dahin loggt Cyrus unter Suse normalerweise. Wenn deine Einstellungen ansonsten normal sind (kein hashed imap spool und kein unixhierarchy = yes), dann sollte es bei funktionieren.
Kein außergewöhnlichen Einstellungen. /var/log/messages sagt, dass die Mailbox nicht existiert. Ich kann aber mit cyradm nachschauen und da gib es die.
Benutzt du cyrus deliver oder lmtp zur Einlieferung? Wenn deliver, als welcher User. Welche Rechte hat dieser User auf die Datenbanken? Das riecht nach einem Rechteproblem. Mindestens erforderlich ist lrsp für einen einliefernden Prozess.
Ich habe allerdings festgestellt, dass ich Fehlermeldungen erhalte, wenn ich in Kmail in Ordnern, die ich angelegt habe, weitere Ordner anlegen möchte. Da habe ich anscheinend keine Zugriffsberechtigung, obwohl ich auch das mit cyradm überprüft habe und dort auch Unterordner anlegen kann.
Als User oder als Superuser cyrus? Entweder hat KMail einen Bug oder du hast doch nicht das c Recht.
Irgendwie bin ich jetzt etwas konfus.
Hier mal meine etc/imapd.conf:
configdirectory: /var/lib/imap partition-default: /var/spool/imap sievedir: /var/lib/sieve admins: cyrus allowanonymouslogin: no autocreatequota: 10000 reject8bit: no quotawarn: 90 timeout: 30 poptimeout: 10 dracinterval: 0 drachost: localhost sasl_pwcheck_method: saslauthd lmtp_overquota_perm_failure: no lmtp_downcase_rcpt: yes altnamespace: 1 tls_cert_file: /var/lib/imap/server.pem tls_key_file: /var/lib/imap/server.pem
Nichts seltsames in der Konfig. Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
Hallo Sandy
Kein außergewöhnlichen Einstellungen. /var/log/messages sagt, dass die Mailbox nicht existiert. Ich kann aber mit cyradm nachschauen und da gib es die.
Benutzt du cyrus deliver oder lmtp zur Einlieferung? Wenn deliver, als welcher User. Welche Rechte hat dieser User auf die Datenbanken?
In der /etc/postfix/main.cf steht: mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp
Das riecht nach einem Rechteproblem. Mindestens erforderlich ist lrsp für einen einliefernden Prozess.
Ich habe allerdings festgestellt, dass ich Fehlermeldungen erhalte, wenn ich in Kmail in Ordnern, die ich angelegt habe, weitere Ordner anlegen möchte. Da habe ich anscheinend keine Zugriffsberechtigung, obwohl ich auch das mit cyradm überprüft habe und dort auch Unterordner anlegen kann.
Als User oder als Superuser cyrus? Entweder hat KMail einen Bug oder du hast doch nicht das c Recht.
Als Superuser cyrus mit "cyradm --auth login localhost --user cyrus" Der Übeltäter scheint wohl
altnamespace: 1
zu sein. Wenn ich diesen in der imapd.conf ausschalte, dann funktioniert sieve z.B. mit der Weiterleitung beim subject "sieve" in den Shared Folder "pub.Mailinglists". in Kmail zeigt sich die Ordnerstruktur dann so: - benutzer ---- Posteingang ----------- Drafts ----------- Sent ----------- etc ---- pub ----------- Mailinglists Wenn ich aber "altnamespace: 1" aktiviere, dann verteilt sieve die Mail nicht mehr richtig. Alles landet im Posteingang. Die Verzeichnisstruktur in Kmail sieht dann so aus: - benutzer ---- Posteingang ---- Drafts ---- etc ---- Shared Folders ----------- pub ------------------ Mailinglists ---- Sent sieve braucht nun anstelle von "pub.Mailinglists" den Auslieferungpfad "Shared Folders.pub.Mailinglists" obwohl die Verzeichnisstruktur in cyrus unverändert bleibt. So weit habe ich es jetzt gelöst. Nun habe ich nur noch das Problem, dass ich zwar auf der höchsten Ebene "benutzer" einen neuen Ordner "Test" anlegen kann, also: - benutzer [...] ---- Test [...] Wenn ich aber versuche, in diesem Ordner einen weiteren Unterordner anzulegen, dann bekomme ich eine Fehlermeldung in Kmail: Fehler beim Erstellen eines Ordners. Ordner lässt sich nicht erstellen Das Erstellen des Ordners ist fehlgeschlagen. Details der Anfrage: Adresse: (unbekannt) Datum und Zeit: Dienstag, 31. Oktober 2006 09:50 Zusätzliche Informationen: imap://benutzer@localhost:143/Test/Test1//;INFO=ASKUSER Mögliche Ursachen: Ihre Zugriffsrechte für die Ressource reichen möglicherweise nicht aus, um diese Aktion durchzuführen. Die vorgesehene Position für den Ordner scheint nicht zu existieren. Es ist möglicherweise ein Protokollfehler oder ein Kompatibilitätsproblem aufgetreten. Mögliche Lösungen: Anfrage wiederholen Überprüfen Sie bitte Ihre Zugriffsrechte für diese Ressource. Die Zugriffsrechte in cyrus sollten richtig sein: localhost> lam user.benutzer.Test benutzer lrswipcda cyrus lrswipcda Für jede Idee dankbar, Wolfgang
Am Tuesday 31 October 2006 08:48 schrieb Sandy Drobic:
Benutzt du cyrus deliver oder lmtp zur Einlieferung? Wenn deliver, als welcher User. Welche Rechte hat dieser User auf die Datenbanken?
deliver ist ein Wrapper von stdin -> lmtp. Mails gehen letztendlich über den üblichen Weg lmtp ins Mailsystem/in die Datenbanken. Daher braucht der User, der deliver aufruft, lediglich Schreib-/Leserecht auf das lmtp-Socket. Auf die Datenbanken braucht er weder Lese noch Schreibzugriff.
Das riecht nach einem Rechteproblem. Mindestens erforderlich ist lrsp für einen einliefernden Prozess.
Naa, das "p" (Post)-Recht reicht aus. Gelesen werden muss nix beim Einliefern. -- Andreas
Am Monday 30 October 2006 22:51 schrieb Wolfgang Kleinbach:
configdirectory: /var/lib/imap partition-default: /var/spool/imap sievedir: /var/lib/sieve admins: cyrus allowanonymouslogin: no autocreatequota: 10000 reject8bit: no quotawarn: 90 timeout: 30 poptimeout: 10 dracinterval: 0 drachost: localhost sasl_pwcheck_method: saslauthd
sasl_mech_list: plain login fehlt hier noch.
lmtp_overquota_perm_failure: no lmtp_downcase_rcpt: yes altnamespace: 1 tls_cert_file: /var/lib/imap/server.pem tls_key_file: /var/lib/imap/server.pem
-- Andreas
Am Montag, 30. Oktober 2006 19:35 schrieb Wolfgang Kleinbach:
require ["fileinto", "reject"]; if header :contains "subject" "sieve" { fileinto "pub.Mailinglists"; } else { fileinto "INBOX"; }
pub. Mailinglists ist ein "Shared folder".
Falls in imapd.conf die Option "sharedprefix" _nicht_ gesetzt ist, steht sie auf "shared folders", denke ich. Dann sollte es fileinto "shared folders.pub.Mailinglists"; heißen. GV
So ist es. Darüber bin ich gestolpert. Danke! Wolfgang Am Dienstag, 31. Oktober 2006 08:51 schrieb Volker Fervers:
Am Montag, 30. Oktober 2006 19:35 schrieb Wolfgang Kleinbach:
require ["fileinto", "reject"]; if header :contains "subject" "sieve" { fileinto "pub.Mailinglists"; } else { fileinto "INBOX"; }
pub. Mailinglists ist ein "Shared folder".
Falls in imapd.conf die Option "sharedprefix" _nicht_ gesetzt ist, steht sie auf "shared folders", denke ich.
Dann sollte es fileinto "shared folders.pub.Mailinglists"; heißen.
GV
participants (5)
-
Andre Tann
-
Andreas Winkelmann
-
Sandy Drobic
-
Volker Fervers
-
Wolfgang Kleinbach