postfix:错误:不支持的字典类型:mysql

postfix:错误:不支持的字典类型:mysql

我刚刚在 Ubuntu 16.04 上安装新的邮件服务器,开始安装和配置 postfix 和 mysql:

apt install postfix postfix-mysql mysql-server mysql-client

配置 postfix(3.1)并为邮件创建数据库后,我尝试测试 postfix 是否可以访问数据库并检索所有域/用户:

postmap -q mydomain.com mysql:/etc/postfix/mysql-virtual_domains.cf

我收到错误:

postmap: fatal: unsupported dictionary type: mysql

看来我的服务器由于某种原因不支持 mysql!

# postconf -m
btree
cidr
environ
fail
hash
inline
internal
memcache
nis
pipemap
proxy
randmap
regexp
socketmap
static
tcp
texthash
unionmap
unix

/etc/postfix# cat dynamicmaps.cf 
# dict-type so-name (pathname)  dict-function   mkmap-function
cdb postfix-cdb.so.1.0.1    dict_cdb_open   mkmap_cdb_open
ldap    postfix-ldap.so.1.0.1   dict_ldap_open
mysql   postfix-mysql.so.1.0.1  dict_mysql_open
pcre    postfix-pcre.so.1.0.1   dict_pcre_open
pgsql   postfix-pgsql.so.1.0.1  dict_pgsql_open
sqlite  postfix-sqlite.so.1.0.1 dict_sqlite_open

请问有什么帮助吗?

答案1

安装后postfix-mysql尝试重新启动 postfix:

postfix reload

答案2

在花费大量时间解决这个问题后,我找到并解决了它:

mysql将文件中的行更改/etc/postfix/dynamicmaps.cf为:

mysql   /usr/lib/postfix/postfix-mysql.so.1.0.1 dict_mysql_open

然后重新加载 postfix postfix reload

答案3

感谢您的案例,我意识到我忘记安装 postfix-mysql。安装后,

apt install postfix-mysql

这条线,

mysql   /usr/lib/postfix/postfix-mysql.so.1.0.1 dict_mysql_open

已自动添加到 /etc/postfix/dynamicmaps.cf,但据我所知,您的情况并非如此。很奇怪。

相关内容