我有一个安装了 postfix、dovecot 和 dovecot-mysql 的 Ubuntu 18.0.4 bionic。收到第 1 行和第 2 行显示的错误:
Jul 4 15:58:05 mailer postfix/qmgr[11870]: warning: connect to transport private/dovecot: No such file or directory
Jul 4 15:58:05 mailer postfix/error[1463]: EDCC317B342: to=<[email protected]>, relay=none, delay=0.09, delays=0.07/0.01/0/0.01, dsn=4.3.0, status=deferred (mail transport unavailable)
Jul 4 15:58:05 mailer postfix/smtpd[1456]: disconnect from mail-io1-f44.google.com[209.85.166.44] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
我不明白这条消息warning: connect to transport private/dovecot: No such file or directory
;private/dovecot
它指的是文件/文件夹还是进程?我在整个/etc/postfix
文件中执行了 grep 来找出是什么private/dovecot
,但没有看到模式。
更新:通过反复试验,我发现这private/{process_name}
来自 postfixmain.cf
设置virtual_transport = {process_name}
- 可以是 dovecot 或 mailman 或其他什么 - 但为什么我仍然收到没有这样的文件或目录消息..
答案1
答案:这分为两部分。
1)private/{process_name}
实际上是参考资料/var/spool/postfix/private/{process_name}
,你可以检查它是否存在。我从https://www.howtoforge.com/postfix-dovecot-warning-sasl-connect-to-private-auth-failed-no-such-file-or-directory并从该路径推断......
[...] (sample code for a process mapping)
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
[...]
2) 之后我意识到这是一个用户错误(我自己),并service postfix restart
显示了流程。
答案2
我遇到了与 transport private/dovecot 相同的问题,并解决了。我没有更改 /etc/dovecot.conf 或 /etc/postfix/main.cf。我执行了以下操作:
首先执行 vi /etc/postfix/master.cf,然后:
1) Uncomment:
1.1) submission inet n line with -o lines
2.2) smtps inet n - n - - smtpd with -o lines
2) Add at the end of the file
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${recipient}
3) Finally, restart postfix service.