Postfix 不支持的字典类型:mysql

Postfix 不支持的字典类型:mysql

基本上我遵循这个教程: https://www.linode.com/docs/email/postfix/email-with-postfix-dovecot-and-mysql

我的问题始于第一次测试 Postfix。

后配置-m

postconf: warning: /etc/postfix/dynamicmaps.cf: file is owned or writable by non-root users -- skipping this file
btree
cidr
environ
fail
hash
inline
internal
memcache
nis
pipemap
proxy
randmap
regexp
socketmap
static
tcp
texthash
unionmap
unix

看起来我忘记安装 postfix-mysql 但是当我再次尝试安装时我得到:

postfix-mysql is already the newest version (3.1.0-3).

postmap -q example.com mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf

postmap: warning: /etc/postfix/dynamicmaps.cf: file is owned or writable by non-root users -- skipping this file
postmap: fatal: unsupported dictionary type: mysql

所有 .cf 文件看起来都像教程中的那样。对于 mysql-* 配置文件,我设置了所有者和组“postfix”。

任何想法?

编辑:

就我而言,我已经安装了 postfix-mysql。

答案1

好吧,在花了很多时间解决这个问题之后,我终于找到了解决办法:

Postfix 尝试读取文件 :/etc/postfix/dynamicmaps.cf但无法读取,因为权限错误。我设置了新所有者并修改权限解决了我的问题。

chown root.root /etc/postfix/dynamicmaps.cf
chmod 640 /etc/postfix/dynamicmaps.cf

也许这个答案会对别人有所帮助。

答案2

正如其他答案中所说,修改/etc/postfix/dynamicmaps.cf方式如下:

# Postfix dynamic maps configuration file.
#
#type   location of .so file            open function   (mkmap func)
#====   ================================    =============   ============
tcp /usr/lib/postfix/dict_tcp.so        dict_tcp_open   
sqlite  /usr/lib/postfix/dict_sqlite.so     dict_sqlite_open    
#mysql  /usr/lib/postfix/dict_mysql.so      dict_mysql_open 
mysql   /usr/lib/postfix/postfix-mysql.so   dict_mysql_open 

对我有用。

答案3

编辑/etc/postfix/dynamicmaps.cf
添加绝对路径postfix-mysql.so
在我的情况下,这条路径是/usr/lib/postfix/postfix-mysql.so

相关内容