Postfix/Courier/MySQL - Courier will nicht

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
elektrohirn
Beiträge: 24
Registriert: 27.01.2005 01:13:27

Postfix/Courier/MySQL - Courier will nicht

Beitrag von elektrohirn » 27.04.2005 21:08:09

Ich habe auf einem frischen Debian-System ein Mailsystem nach dem How-to von workaround.org aufgebaut. Soweit funktioniert folgendes: Ich kann per KMail E-Mails an meine neue E-Mail-Adresse schicken, und ich kann von meiner neuen E-Mail-Adresse Mails an andere externe E-Mail-Adressen verschicken, also SMTP funktioniet genau so wie es soll, inkl. SSL.

Allerdings funktioniert Courier-IMAP/POP nicht. Wenn ich mich am Server per Telnet am IMAP-Server anmelde, erhalte ich nach ein paar Sekunden ein 'NO Login failed'. In /var/log/mail.debug findet sich folgendes:

Code: Alles auswählen

Apr 27 20:56:05 geekspot imaplogin: Connection, ip=[::ffff:127.0.0.1]
Apr 27 20:56:17 geekspot imaplogin: LOGIN: DEBUG: ip=[::ffff:127.0.0.1], command=LOGIN
Apr 27 20:56:28 geekspot imaplogin: LOGIN: DEBUG: ip=[::ffff:127.0.0.1], command=LOGIN
Apr 27 20:56:28 geekspot imaplogin: LOGIN: DEBUG: ip=[::ffff:127.0.0.1], username=elektro@myserver.de
Apr 27 20:56:28 geekspot imaplogin: LOGIN: DEBUG: ip=[::ffff:127.0.0.1], password=secret
Apr 27 20:56:28 geekspot imaplogin: authdaemon: starting client module
Apr 27 20:56:28 geekspot imaplogin: authdaemon: TEMPFAIL - no more modules will be tried
Apr 27 20:56:33 geekspot imaplogin: LOGIN FAILED, ip=[::ffff:127.0.0.1]
Der authdaemon von Courier scheint also Probleme zu machen. Hier die entsprechenden Konfigdateien:

Code: Alles auswählen

authdaemonrc

authmodulelist="authmysql"
authmodulelistorig="authcustom authcram authuserdb authldap authpgsql authmysql authpam"
daemons=5
version=""
authdaemonvar=/var/run/courier/authdaemon

Code: Alles auswählen

authmysqlrc

MYSQL_SERVER 127.0.0.1
MYSQL_USERNAME provider_admin
MYSQL_PASSWORD secret
MYSQL_PORT 0
MYSQL_DATABASE provider
MYSQL_USER_TABLE users
#MYSQL_CRYPT_PWFIELD    crypt
MYSQL_CLEAR_PWFIELD password
MYSQL_UID_FIELD '7000'
MYSQL_GID_FIELD '7000'
MYSQL_LOGIN_FIELD email
MYSQL_HOME_FIELD        /data/vmail
MYSQL_MAILDIR_FIELD     CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/')
Es ist also alles wie auf workaround.org bis auf UID/GID da 5000 bei mir schon vergeben war. Der vmail-Nutzer hat natürlich die passenden UID/GID. In der MySQL-Logdatei finde ich beim Telnet-Loginversuch folgendes:

Code: Alles auswählen

050427 20:56:28     172 Connect     provider_admin@localhost.localdomain on
                    172 Init DB     provider
                    172 Query       SELECT email, "", password, '7000', '7000', /data/vmail, CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/'), "", "", "" FROM users WHERE email = "elektro@geekspot.de"
                    172 Quit
                    173 Connect     provider_admin@localhost.localdomain on
                    173 Init DB     provider
                    173 Query       SELECT email, "", password, '7000', '7000', /data/vmail, CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/'), "", "", "" FROM users WHERE email = "elektro@geekspot.de"
                    173 Quit
Also wie's aussieht scheint sich authdaemon schon mit SQL zu verbinden, nur tut sich nichts. Die Datenbank müsste OK sein, da SMTP ja funktioniert, nur mit IMAP/POP gehts nicht. Hat jemand ne Idee woran das liegen könnte? Ist vielleicht irgend etwas in den authdaemon-configfiles falsch? Bin schon den ganzen Tag am Verzweifeln deswegen, alles funktioniert prima nur das hier nicht. Wäre cool wenn jemand nen Tipp hätte...

EDIT: Hab auch schon versucht in allen Konfigdateien root als Datenbanknutzer einzutragen, hat aber auch nichts gebracht.
Tom

Antworten