piepmatz
Goto Top

Courier-pop mysql login problem

Hallo zusammen

Habe einen neuen Mailserver (Debian Etch, postfix-mysql, postfix-admin) installiert. Bis auf courier-pop läuft bislang alles. Diesen kriege ich einfach nicht zum laufen.

Problembeschreibung:
Eine Telnetsession sieht so aus:
+OK Hello there.
user test@dom.ch
+OK Password required.
pass test
-ERR Temporary problem, please try again later

Verbindung zu Host verloren.
Das Syslog:
Jun 28 16:47:00 heptagon courierpop3login: Connection, ip=[::ffff:192.168.0.100]
Jun 28 16:47:18 heptagon authdaemond: received auth request, service=pop3, authtype=login
Jun 28 16:47:18 heptagon authdaemond: authmysql: trying this module
Jun 28 16:47:18 heptagon authdaemond: SQL query: SELECT username, password, "", uid, gid, home, "", "", name, "" FROM mailbox  
 WHERE username = "test@dom.ch"  
Jun 28 16:47:18 heptagon authdaemond: mysql_query failed, reconnecting: Unknown column 'uid' in 'field list'  
Jun 28 16:47:18 heptagon authdaemond: mysql_query failed second time, giving up: Unknown column 'uid' in 'field list'  
Jun 28 16:47:18 heptagon authdaemond: authmysql: TEMPFAIL - no more modules will be tried
Jun 28 16:47:18 heptagon courierpop3login: LOGIN FAILED, user=test@dom.ch, ip=[::ffff:192.168.0.100]
Jun 28 16:47:18 heptagon courierpop3login: authentication error: Input/output error
Das Problem ist eigentlich klar. Der macht eine SQL-Abfage die so nicht funktionert. Die frage ist nur, wiso?
Also habe ich kurzerhand das mysql log eingeschaltet. Und dort wird der Verdacht bestätigt. Falsche SQL-Abfrage:
080628 16:47:18      25 Connect     postfixadmin@localhost on
                     25 Init DB     postfix
                     25 Query       SELECT username, password, "", uid, gid, home, "", "", name, "" FROM mailbox WHERE userna  
me = "test@dom.ch"  
                     25 Quit
                     26 Connect     postfixadmin@localhost on
                     26 Init DB     postfix
                     26 Query       SELECT username, password, "", uid, gid, home, "", "", name, "" FROM mailbox WHERE userna  
me = "test@dom.ch"  
                     26 Quit

Die Datenbank (von Postfixadmin selber generiert) sieht nähmlich anders aus:
cc5d8457091c34abcdf8f240c5d8c76a-db
Habe mich bei der Installation an diesem http://knopix.wordpress.com/2008/01/16/postfixadmin-postgresql-courier- ... Howto orientiert.

Kann ich den SELECT irgendwo konfigurieren? Oder sonst eine Idee? Ich stehe an.
Danke.
Übringes, das gleiche Problem auch mit courier-imap

Content-Key: 90849

Url: https://administrator.de/contentid/90849

Printed on: April 19, 2024 at 14:04 o'clock

Member: piepmatz
piepmatz Jun 28, 2008 at 21:25:32 (UTC)
Goto Top
In der Zwischenzeit habe ich der Datenbank die fehlenden Felder einfach gegeben. Somit funktioniert das Login. Nun kommt aber der nächste Fehler im syslog:
courierpop3login: scancur opendir("cur"): No such file or directory  

In der Variable Maildir in /etc/default/courier habe ich "/var/mail/vmail" eingetragen. Dieses Verzeichnis existiert auch. Wird ein Mail an einen frisch angelegten User gesendet, wird die Mailbox auch korrekt in diesem Verzeichnis angelegt.

Ändere ich beispielsweise Maildir in "/var/mail/vmail/test@dom.ch", dann funktioniert es mit dem User test@dom.ch.

Somit müsste ich jetzt wissen was ich machen muss damit der richtige Pfad "generiert" wird. Ich vermute die Einstellung irgendwo in /etc/courier/authmysqlrc. Kann mir jemand weiterhelfen?

Nachtrag:
Problem vorerst gelöst:
/etc/courier/authmysqlrc
......
MYSQL_MAILDIR_FIELD     CONCAT('/var/mail/vmail/',maildir)  
......