E-Mail-Server Ubuntu SQL-Fehler

467
Cyberpunk7711

Ich habe versucht, einen Server einzurichten, aber es funktioniert nicht. Ich habe diesen Fehler erhalten:

23:59:43 mail dovecot: auth-worker (14604): Fehler: sql (test@mydomain.eu, ip): Passwortabfrage fehlgeschlagen; Sie haben einen Fehler in Ihrer SQL-Syntax. Überprüfen Sie das Handbuch, das Ihrer MariaDB-Serverversion entspricht, auf die richtige Syntax, um nahe '\ ROM-Benutzer WHERE userid =' test@mydomain.eu 'und mysql_pass = password zu verwenden (' psw 'in Zeile 1.

Hier meine Konfig:

driver = mysql connect = "host = 127.0.0.1 dbname = dbname user = userdb password = psw" default_pass_scheme = SHA512-CRYPT
password_query = SELECT NULL AS-Passwort, 'Y' als nopassword, userid AS-Benutzer \ FROM-Benutzer $
FROM_query = SELECT username AS Benutzer, Domäne, Kennwort FROM Konten WHERE Benutzername = '% n $
iterate_query = SELECT Benutzername, Domäne FROM Konten, bei denen sendonly = false ist;

Mein Setup: Ich habe Mariadb, Dovecot, Postfix, Postfixadmin installiert.

Wenn ich mit postfixadmin ein E-Mail-Konto erzeuge und dieselbe Datenbank mit dovecot verwende, habe ich den Fehler erhalten. Was mache ich falsch?

Ich bin nicht sehr erfahren. Wenn Sie weitere Informationen benötigen, fragen Sie bitte nach.

0

1 Antwort auf die Frage

0
JakeGould

Der Fehler, den Sie haben, ist wie folgt; Mutige Betonung liegt bei mir:

23:59:43 mail dovecot: auth-worker (14604): Fehler: sql (test@mydomain.eu, ip): Passwortabfrage fehlgeschlagen; Sie haben einen Fehler in Ihrer SQL-Syntax. Überprüfen Sie das Handbuch, das Ihrer MariaDB-Serverversion entspricht, auf die richtige Syntax, um nahe '\ ROM-Benutzer WHERE userid =' test@mydomain.eu ' und mysql_pass = password zu verwenden (' psw 'in Zeile 1.

Der von Ihnen eingestellte Abfragewert lautet wie folgt; wieder ist der kühne Schwerpunkt mein:

SELECT NULL AS Passwort, 'Y' als nopassword, Benutzer-ID AS Benutzer \ FROM Benutzer $

Anscheinend \ist das ein Problem. Aber auch einige der Fragen haben seltsamerweise ein $Ende wie diese:

SELECT NULL AS password, 'Y' as nopassword, userid AS user \ FROM users $ SELECT username AS user, domain, password FROM accounts WHERE username = '%n$  

Anscheinend haben Sie diese Abfragen von einer Befehlszeilenausgabe kopiert und eingefügt, durch die die Abfragen abgeschnitten wurden. Die Lösung? Holen Sie sich die tatsächlichen vollständigen Abfragen und platzieren Sie sie in der Konfiguration.

Worum geht es auch?

driver = mysql connect = "host=127.0.0.1 dbname=dbname user=userdb password=psw" 

Warum sind diese beiden Werte driverund connectWerte in derselben Zeile?

Im Allgemeinen wird die Konfiguration durch die Gesamtformatfehler, die Sie sehen, wie ein Chaos. Es ist kein einfacher Weg für uns, das Problem zu lösen, aber grundsätzlich würde ich empfehlen, die Konfiguration ordnungsgemäß mit vollständigen Abfragen umzuschreiben, Werte in Anführungszeichen zu setzen (wenn die Konfiguration auf diese Weise funktioniert) und jeden Wert in jeder Zeile richtig einzustellen.