如何为 Mysql 5.7 配置 postfix

如何为 Mysql 5.7 配置 postfix

我对 postfix 进行了适当的更改,让 mysql 5.7 代替 Maria DB 作为数据库运行。我可以运行测试,服务器上一切似乎都运行正常。但是,我无法从电子邮件客户端登录我的帐户。我继续收到“无效登录”错误,我多次检查了电子邮件地址和密码。

我注意到 postfix 使用“加密”选项来加密用户表上的密码,而且在 Mysql 5.7 上,有一个为此功能添加密钥的选项。但在 5.6 及以下版本中并非如此。有谁知道这是否是问题所在,如果是,是否有针对 postfix 的修复程序可以将加密密钥放在某处?或者 postfix 只是与 Mysql 5.7 不兼容?我无法在此服务器上运行 mariaDB。

提前致谢。

编辑:许多默认配置中有两个 SQL 查询在 Mysql 5.7 中不起作用

在mysql-virtual_domains.cf中:

SELECT domain AS virtual FROM domains WHERE domain='%s'

应改为

SELECT domain AS `virtual` FROM domains WHERE domain='%s'

(在保留关键字中添加反引号)

在 mysql-virtual_mailboxes.cf 中

SELECT CONCAT(SUBSTRING_INDEX(`email`,<'@'>,-1),'/',SUBSTRING_INDEX(`email`,<'@'>,1),'/') FROM users WHERE email='%s'

应改为

SELECT CONCAT(SUBSTRING_INDEX(`email`,'@',-1),'/',SUBSTRING_INDEX(`email`,'@',1),'/') FROM users WHERE email='%s'

(删除<>)

答案1

就 postfix 而言,mysql 和 mariadb 之间应该没有区别。在 postfix 中,您可以指定应使用哪些 SQL 命令来访问数据库。不要对密码使用 mysql 特定的加密,它过去已经改变过,并且可能再次改变。

相关内容