我正在运行带有虚拟域的 postfix 和 dovecot,如“Postfix 虚拟 ALIAS 示例:单独的域、UNIX 系统帐户”部分所述这里。
设置好 dovecot 日志记录后,postfix 日志中总是出现错误。我发现,如果我在 main.cf 中... temporary failure. Command output: Can't open log file /var/log/dovecot.log: Permission denied
注释掉该行,这个问题就可以解决。现在我有几个问题:mailbox_command
- 我猜这是因为
mailbox_command
(在我的情况下是 dovecot)作为邮件的收件人运行,但我的 dovecot 日志文件只能由 root 写入? - 为什么此错误会出现在 postfix 日志中?是不是因为 postfix 运行 dovecot(由 定义
mailbox_command
)并且 dovecot 返回该错误,然后将其写入 postfix 日志? - 目前我还没有在 main.cf 中定义
mailbox_transport
或mailbox_command
。它们现在为空(默认情况下)。为什么传输仍在运行?似乎 postfix 仍然知道它必须使用 dovecot 作为 LDA。 - postfix 如何与 dovecot 协同工作?postfix 是否仅依赖于
mailbox_command
和mailbox_transport
设置?
答案1
尝试:
chown vmail:mail /var/log/dovecot*
我在使用错误定义的 Logrotate 时遇到了这个问题,它使用 root:root 重新创建了日志文件。