电子邮件服务器Ubuntu SQL错误


0

我一直在尝试设置服务器,但它不起作用。我收到了这个错误:

23:59:43 mail dovecot:auth-worker(14604):错误:sql(test@mydomain.eu,ip):密码查询失败; 您的SQL语法有错误; 检查与您的MariaDB服务器版本对应的手册,以便在'\ ROM用户WHERE userid ='test@mydomain.eu'和mysql_pass =密码('psw'在第1行)附近使用正确的语法。

这是我的配置:

driver = mysql connect =“host = 127.0.0.1 dbname = dbname user = userdb password = psw”default_pass_scheme = SHA512-CRYPT
password_query = SELECT NULL AS password,'Y'as nopassword,userid AS user \ FROM users $
user_query = SELECT username AS用户,域,密码FROM accounts WHERE username ='%n $
iterate_query = SELECT username,domain FROM accounts其中sendonly = false;

我的设置:我安装了mariadb,dovecot,postfix,postfixadmin。

当我使用postfixadmin创建一个电子邮件帐户并使用与dovecot相同的数据库时,我收到了错误。我究竟做错了什么?

我不是很有经验。如果您需要更多信息,请询问。

Answers:


0

你有的错误如下; 大胆的重点是我的:

23:59:43 mail dovecot:auth-worker(14604):错误:sql(test@mydomain.eu,ip):密码查询失败; 您的SQL语法有错误; 检查与您的MariaDB服务器版本对应的手册,以便在'\ ROM用户WHERE userid ='test@mydomain.eu'和mysql_pass =密码('psw'在第1行)附近使用正确的语法

您设置的查询值如下; 再次大胆的重点是我的:

SELECT NULL AS密码,'Y'表示nopassword,userid AS user \ FROM users $

似乎这\是一个问题。但也有一些查询奇怪地$在他们的最后有这样的:

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

看起来您从一些截断查询的命令行输出中复制并粘贴了这些查询。解决方案?获取实际的完整查询并将其放入配置中。

另外,这是关于什么的?

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

为什么这两个driverconnect值在同一条线上?

通常,您看到的整体格式怪癖会使配置看起来像一团糟。我们没有简单的方法来解决它,但基本上我建议用完整的查询正确地重写配置,引用值(如果配置工作方式)并正确设置每一行的每个值。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.