Dovecot 因配置文件中未指定 passdbs 错误而停止

Dovecot 因配置文件中未指定 passdbs 错误而停止

我正在使用 Dovecot 和 Postfix,但最近我尝试使用 Postfixadmin (参考以下参考资料)。无论 Postfixadmin 是否正常工作,当有人尝试使用现有的电子邮件帐户通过 Outlook 或 Thunderbird 登录时,Dovecot 服务都会停止并显示以下错误:

Jul 20 16:12:41 email-server systemd[1]: Started Dovecot IMAP/POP3 email server.
Jul 20 16:12:41 email-server dovecot[28856]: master: Dovecot v2.3.4.1 (f79e8e7e4) starting up for imap, lmtp, imap, lmtp (core dumps disabled)
Jul 20 16:12:56 email-server dovecot[28858]: auth: Debug: Loading modules from directory: /usr/lib/dovecot/modules/auth
Jul 20 16:12:56 email-server dovecot[28858]: auth: Debug: Module loaded: /usr/lib/dovecot/modules/auth/lib20_auth_var_expand_crypt.so
Jul 20 16:12:56 email-server dovecot[28858]: auth: Debug: Module loaded: /usr/lib/dovecot/modules/auth/libdriver_mysql.so
Jul 20 16:12:56 email-server dovecot[28858]: auth: Fatal: No passdbs specified in configuration file. LOGIN mechanism needs one
Jul 20 16:12:56 email-server dovecot[28856]: master: Error: service(auth): command startup failed, throttling for 2 secs
Jul 20 16:12:56 email-server dovecot[28858]: imap-login: Disconnected: Auth process broken (disconnected before auth was ready, waited 0 secs): user=<>, rip=187.208.178.229, 
Jul 20 16:12:56 email-server dovecot[28858]: imap-login: Warning: Timeout leak: 0x7f112d1aa730 (auth-server-connection.c:397)

无论我的/etc/dovecot/conf.d/auth-sql.conf.ext文件是否已包含以下代码,我的 Dovecot 仍会因相同的错误而崩溃:

passdb {
  driver = sql
  args = /etc/dovecot/dovecot-sql.conf.ext
}

userdb {
  driver = sql
  args = /etc/dovecot/dovecot-sql.conf.ext
}

答案1

您编辑的文件/etc/dovecot/conf.d/auth-sql.conf.ext可选包括来自另一个配置文件/etc/dovecot/conf.d/10-auth.conf,通常被注释掉但随时可以激活。默认dovecot.conf仅包含以 结尾的附加配置文件.conf.ext片段文件通常是这些.conf文件的可选组件或扩展。

注释掉其他不需要的与身份验证相关的包含,并使注释的包含语句 ( #!include ..) 成为真正的包含 ( !include ..)


当不确定任何配置文件的解释时,使用doveconf打印有效的配置,应该澄清文件内容和 Dovecot 程序行为之间任何明显的不匹配。

相关内容