PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kann mich nicht am Mailserver (Courier) anmelden - Fehlerhafter MySQL-Query?



Filzo
30.05.08, 08:39
Dieses Howto (http://www.howtoforge.com/virtual_users_and_domains_with_postfix_debian_etch ) habe ich gestern durchgearbeitet, damit ich von meinem vServer auch Mails versenden und empfangen kann. Jedoch kann ich mich weder am IMAP-Server noch am POP3-Server anmelden. In der /var/log/mail.log steht dazu:


May 30 09:22:49 lvps87-230-24-xxx imapd: Connection, ip=[::ffff:82.83.195.xxx]
May 30 09:22:49 lvps87-230-24-xxx authdaemond: received auth request, service=imap, authtype=login
May 30 09:22:49 lvps87-230-24-xxx authdaemond: authmysql: trying this module
May 30 09:22:49 lvps87-230-24-xxx authdaemond: SQL query: SELECT email, password, "", 5000, gid, "/home/vmail", CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/'), "", "", "" FROM users WHERE email = "filzo@xxx.de"
May 30 09:22:49 lvps87-230-24-xxx authdaemond: mysql_query failed, reconnecting: Unknown column 'gid' in 'field list'
May 30 09:22:49 lvps87-230-24-xxx authdaemond: mysql_query failed second time, giving up: Unknown column 'gid' in 'field list'
May 30 09:22:49 lvps87-230-24-xxx authdaemond: authmysql: TEMPFAIL - no more modules will be tried
May 30 09:22:49 lvps87-230-24-xxx imapd: LOGIN FAILED, user=filzo@xxx, ip=[::ffff:82.83.195.xxx]
May 30 09:22:49 lvps87-230-24-xxx imapd: authentication error: Input/output error


Ich konnte bisher nicht rausfinden, in welcher der Configdateien der Fehler liegt, ich schätze aber, dass irgendwo ein falscher MySQL-Query gesendet wird. Komischerweise kann ich auch sonst weder Mails empfangen noch versenden, dass ist aber das Thema für einen anderen Thread ;)

marce
30.05.08, 08:42
mysql_query failed, reconnecting: Unknown column 'gid' in 'field list'
Da ist wohl entweder ein SQL-Befehl falsch - oder die Tabelle nicht korrekt erstellt.

Filzo
30.05.08, 08:48
Alle SQL-Queries, die ich mir in den Config-Dateien angesehen habe, sehen richtig aus. Und laut dem Howto braucht man garkeine 'gid'-Spalte... und auch keine 'field list'-Tabelle (falls ich die Fehlermeldung so richtig deute, versucht er auf die Spalte 'gid' in der Tabelle 'fiels list' zuzugreifen, richtig?)

Die Datenbanktabellen werden im Howto hier (http://www.howtoforge.com/virtual_users_and_domains_with_postfix_debian_etch _p2) erstellt.

marce
30.05.08, 08:54
SELECT email, password, "", 5000, gid, "/home/vmail", CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/'), "", "", ""
lt. SQL sollte die Spalte in users drin sein - alternativ fehlt evtl. ein "" drumherum, damit er das als Wert direkt zurückliefert? Müsste da mal tiefer einsteigen...

Welche MySQL-Version verwendest Du denn?

Filzo
30.05.08, 09:01
Die users-Tabelle wird so erstellt:

CREATE TABLE users (
email varchar(80) NOT NULL,
password varchar(20) NOT NULL,
quota INT(10) DEFAULT '10485760',
PRIMARY KEY (email)
) ENGINE=MyISAM;

Also keine Spalte mit der gid, o.ä. Dazu muss ich noch sagen, dass ich das Quota-Geraffel aus dem Howto ausgelassen habe.

Meine /etc/courier/authmysqlrc sieht so aus:


MYSQL_SERVER localhost
MYSQL_USERNAME mail_admin
MYSQL_PASSWORD mein_passwort
MYSQL_PORT 0
MYSQL_DATABASE mail
MYSQL_USER_TABLE users
MYSQL_CRYPT_PWFIELD password
#MYSQL_CLEAR_PWFIELD password
MYSQL_UID_FIELD 5000
MYSQL_GID FIELD 5000
MYSQL_LOGIN_FIELD email
MYSQL_HOME_FIELD "/home/vmail"
MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/')
#MYSQL_NAME_FIELD
#MYSQL_QUOTA_FIELD quota


Nachtrag: FEHLER GEFUNDEN
Die MYSQL_GID_FIELD Zeile sollte auch wirklich so geschrieben werden - nicht mit Leerzeichen statt Unterstrich :)