• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Dovecot deliver Problem

spoensche

Moderator
Teammitglied
Morgen,

ich habe ein Problem mit Dovecot unter Debian Etch.
Wenn ich per telnet eine Testemail mit Postfix verschicke kommen sie nicht an.

In der /var/log/mail.log steht folgendes:

Code:
Sep 19 10:28:04 debian postfix/qmgr[3012]: A5E6EBEAD9: from=<john@example.com>, size=340, nrcpt=1 (queue active)
Sep 19 10:28:04 debian postfix/pipe[3021]: A5E6EBEAD9: to=<steve@example.com>, relay=dovecot, delay=29, delays=28/0.14/0/0.32, dsn=5.3.0, status=bounced (Command died with status 89: "/usr/lib/dovecot/deliver")

In der dovecot-deliver.log steht folgendes:

Code:
deliver(john@example.com): "2008-09-19 10:58:42 "Fatal: Plugin cmusive not found from directory /usr/lib/dovecot/modules/lda

Im Verzeichnis /usr/lib/dovecot/modules/lda sind die Libraries für cmusive aber vorhanden.

Dovecot- Eintrag in der /etc/postfix/master.cf:
Code:
# Dovecot
dovecot unix -          n        n       -       -       pipe
   flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}

Die Ordner für die Benutzer existieren in /home/vmail/example.com.

Ich benutze Virtual Domains und MySQL.

Kann mir jemand auf die Sprünge helfen?
 

whois

Ultimate Guru
Hi

Sorry wahrscheinlich saudoofe Frage aber...
Ich habe das leider nicht im Einsatz, aber die Module sind weder schreibgeschützt noch unterliegen sie sonstigen Ausführungs-Rechten?

Code:
Fatal: Plugin cmusive not found from directory /usr/lib/dovecot/modules/lda

cu
 
OP
S

spoensche

Moderator
Teammitglied
Die cmusive Library (lib90_cmusive_plugin.so) hatte keine Ausführungsrechte was ich sofort geändert habe.

Ich bekomme in der /var/mail.log aber immer noch die Fehlermeldung mit
Code:
Command Died with status 89: /usr/lib/dovecot/deliver
.
 

whois

Ultimate Guru
Hörmal laut Google scheint das öfters vorzukommen.
Ich sehe mich mich mal auf der ML von Dovecot um, vielleicht finde ich da was.

http://www.dovecot.org/
http://www.mailinglistarchive.com/dovecot@dovecot.org/msg16813.htm

/Edit:
Puh das ist wie die suche im Heuhaufen nach der Nadel.
http://dovecot.org/cgi-bin/mailman/listinfo/dovecotl
 
OP
S

spoensche

Moderator
Teammitglied
Danke für deine Mühe. Ich habe auch schon festgestellt, dass das Problem öfters vorkommt. Ich werde die Links, die du gepostet hast mal "durchwühlen" und hoffentlich findet sich was.
 

whois

Ultimate Guru
Hi

Leider lässt das Ergebnis bisher zu wünschen übrig.
Wenn ich garnichts oder zuviel finde werde ich mir das Teil selber mal am WE in der LUG mit einigen Freunden installieren.

cu
 

Tooltime

Advanced Hacker
Vielleicht mit copy & paste das falsche Beispiel genommen?
Ehrlich gesagt habe ich dovecot noch nie benutzt, würde aber versuchen das Problem etwa so zu lösen.

Unter der Annahme das ein deliver-Befehl kompatibel zu jeder anderen Version sein sollte, würde ich folgende Version umbauen:
Code:
cyrus	  unix	-	n	n	-	-	pipe
  user=cyrus argv=/usr/lib/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
in
Code:
dovecot	  unix	-	n	n	-	-	pipe
  user=username argv=/usr/lib/dovecot/deliver -e -r ${sender} -m ${extension} ${user}
Berücksichtigt man die help-Ausgaben der Befehle:
Code:
/usr/lib/dovecot/deliver -h
Usage: deliver [-c <config file>] [-d <destination user>] [-m <mailbox>]
               [-n] [-e] [-f <envelope sender>]

/usr/lib/cyrus/bin/deliver
421-4.3.0 usage: deliver [-C <alt_config> ] [-m mailbox] [-a auth] [-r return_path] [-l] [-D]
gewürzt mit man 8 pipe und http://cyrusimap.web.cmu.edu/imapd/man/deliver.8.html könnte mir auch folgende Varianten vorstellen:
Code:
dovecot	  unix	-	n	n	-	-	pipe
  user=username argv=/usr/lib/dovecot/deliver -e -f ${sender} -m ${extension} ${user}

oder

dovecot	  unix	-	n	n	-	-	pipe
  user=username argv=/usr/lib/dovecot/deliver -e -f ${sender} -m ${extension} -d ${user}

Es gibt zwar einen User dovecot, aber ob der die nötigen Rechte hat in das Homeverzeichnis des Empfängers zu schreiben? Ich würde es jedenfalls mal mit user=dovecot und dann mit user=root probieren.
 
OP
S

spoensche

Moderator
Teammitglied
Ich hab das Problem gelöst. Man achte auf die Feinheiten.

Ich hatte den Namen des Plugins falsch geschrieben. Statt
Code:
cmusive
muss es
Code:
cmusieve
heissen.

Da hätte ich auch noch Wochenlang dran suchen können. Mal ein wenig Abstand genommen, noch mals alles überprüft und siehe da, der Teufel steckte im kleinsten Detail, wo ich ihn am wenigsten vermutet hätte.
 
Oben