Назад | Перейти на главную страницу

Postfix неподдерживаемый тип словаря: mysql

В основном я следую этому руководству: https://www.linode.com/docs/email/postfix/email-with-postfix-dovecot-and-mysql

Мои проблемы возникли с первым тестовым Postfix.

postconf -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.

Как сказано в одном из других ответов, изменение /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 

работает для меня.

Хорошо, после многих часов, проведенных над этой проблемой, я наконец нашел решение:

Постфикс пытается прочитать файл:/etc/postfix/dynamicmaps.cf и не может из-за неправильных разрешений. Я установил новых владельцев и разрешение на изменение решило мою проблему.

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

Может быть, этот ответ поможет кому-нибудь другому.

редактировать /etc/postfix/dynamicmaps.cf
Добавить абсолютный путь к postfix-mysql.so
В моем случае это путь /usr/lib/postfix/postfix-mysql.so