lor*_*con 2 postgresql postfix dovecot
我正在尝试使用 postgresql 支持配置 Dovecot + Postfix + PostfixAdmin。我成功配置了 postfix 以将电子邮件发送到我的域的别名,现在我想在我的服务器上配置实际的邮箱支持。我遵循了 dovecot 2 wiki ( http://wiki.dovecot.org/AuthDatabase/SQL )上数据库支持的配置选项,dovecot 启动时没有错误,但在第一次尝试通过 IMAP 连接时,dovecot 在邮件日志上抱怨:
auth: Fatal: Unknown database driver 'pgsql'
Run Code Online (Sandbox Code Playgroud)
我确定 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
Run Code Online (Sandbox Code Playgroud)
附加信息:
/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
}
Run Code Online (Sandbox Code Playgroud)
对于我尝试过的驱动程序部分:'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'
Run Code Online (Sandbox Code Playgroud)
对我缺少的东西有任何想法吗?谢谢你。
在 CentOS 6 上不仅需要安装 dovecot 包,还需要安装附加模块,在这种情况下,还需要包 dovecot-pgsql 来支持 postgresql。
/etc/dovecot/conf.d/auth-sql.conf.ext 中驱动程序行的正确语法是:
driver = sql
Run Code Online (Sandbox Code Playgroud)
然后在 /etc/dovecot/conf.d/dovecot-sql.conf.ext 中指定正确的驱动程序
driver = pgsql
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7848 次 |
最近记录: |