Postfix

Dovecot - 身份驗證:致命:未知數據庫驅動程序 ‘pgsql’

  • November 26, 2011

我正在嘗試使用 postgresql 支持配置 Dovecot + Postfix + PostfixAdmin。我成功配置了 postfix 以將電子郵件發送到我的域的別名,現在我想在我的伺服器上配置實際的郵箱支持。我按照 dovecot 2 wiki ( http://wiki.dovecot.org/AuthDatabase/SQL )上的數據庫支持配置選項,dovecot 啟動時沒有錯誤,但在第一次嘗試通過 IMAP 連接時,dovecot 在郵件日誌中抱怨:

auth: Fatal: Unknown database driver 'pgsql'

我確定 dovecot 支持 postgres,這是 dovecot –build-options 的輸出:

Build options: ioloop=epoll notify=inotify ipv6 openssl io_block_size=8192
Mail storages: cydir dbox maildir mbox mdbox raw shared
SQL driver plugins: mysql postgresql sqlite
Passdb: checkpassword ldap pam passwd passwd-file shadow sql
Userdb: checkpassword ldap(plugin) nss passwd prefetch passwd-file sql

附加資訊:

/etc/dovecot/conf.d/auth-sql.conf.ext

passdb {
 driver = pgsql
 # Path for SQL configuration file, see example-config/dovecot-sql.conf.ext
 args = /etc/dovecot/conf.d/dovecot-sql.conf.ext
}

對於我嘗試過的驅動程序部分:‘pgsql,‘postgresql’和’sql’,我總是得到錯誤。

/etc/dovecot/conf.d/dovecot-sql.conf.ext

connect = host=localhost dbname=postfix user=postfix password=secret
default_pass_scheme = CRYPT
password_query = SELECT userid as user, password FROM users WHERE userid = '%u'
user_query = SELECT '/home/'||home AS home, uid, gid FROM users WHERE userid = '%u'

對我缺少的東西有任何想法嗎?謝謝你。

在 CentOS 6 上,不僅需要安裝 dovecot 包,還需要安裝附加模組,在這種情況下,還需要包 dovecot-pgsql 來支持 postgresql。

/etc/dovecot/conf.d/auth-sql.conf.ext 中驅動程序行的正確語法是:

driver = sql

然後在 /etc/dovecot/conf.d/dovecot-sql.conf.ext 中指定正確的驅動程序

driver = pgsql

引用自:https://serverfault.com/questions/334850