我遇到了一个让我抓狂的问题。在 DigitalOcean 上运行 Ubuntu 12.04,我按照本教程设置了 Postfix、Dovecot、ViMbAdmin 和 RoundCube:
https://rtcamp.com/tutorials/mail/server/postfix-dovecot-ubuntu/
到目前为止,一切都运行良好,已经快一个星期了,直到今天,我的来信突然开始卡在队列中。我可以使用 postqueue -p 查看电子邮件,但它们已经在那里停留了 5 个多小时。
我可以正常地向其他主机发送电子邮件,但是我也无法接收发送给我自己的电子邮件。
在我的 mail.err 日志中我不断看到很多这样的内容:
4月8日 16:10:30 marcusforsberg master[14769]: 致命: master_spawn: exec /usr/lib/postfix/f: 权限被拒绝
但是错误日志中没有其他内容,只有那一行反复出现。
mail.log 文件一直给我这个:
4月8日 15:48:07 marcusforsberg master[5841]: 致命: master_spawn: exec > /usr/lib/postfix/f: 权限被拒绝
4 月 8 日 15:48:08 marcusforsberg postfix/master[5758]: 警告:进程 /usr/lib/postfix/f > pid 5841 退出状态 1
4 月 8 日 15:48:08 marcusforsberg postfix/master[5758]: 警告:/usr/lib/postfix/f:错误 > 命令启动 -- 节流
对于每封电子邮件:
4 月 8 日 15:46:05 marcusforsberg postfix/qmgr[5770]: 7D40416365E: from=, size=5691, nrcpt=1 (队列活跃)
4 月 8 日 15:51:40 marcusforsberg postfix/qmgr[5931]: 7D40416365E: 已跳过,仍在投递
运行 postqueue -f 没有效果,重置 Postfix 配置(dpkg-reconfigure postfix)、重新启动 Postfix 或重新启动服务器(这在电子邮件卡住时曾经起作用)也没有效果。
我花了大半天时间研究这个问题,但发现没什么用。在出现故障之前,我所做的唯一改变就是从快照重建了我的 DigitalOcean droplet。在此之前,一切都运行正常。我也经常看到“权限被拒绝”错误,但我仍然可以接收电子邮件。
这是我的 Postfix 的 main.cf:http://pastebin.com/hrxhkWZ7
我的master.cf:http://pastebin.com/mV9GcUNi
如果有人有任何建议或我遗漏的解决方案的链接,请告诉我。或者如果我应该分享任何其他配置文件或日志。
提前感谢你的帮助!
(这是我对 DO 的疑问,我在这方面运气不太好。我希望这是允许的,而且这里还是一个适合提出这个问题的地方……否则请告诉我!)
答案1
在 master.cf 中查找名为“f”的传输,那里肯定是拼写错误。
但是你粘贴的 master.cf 没有这个文件。你粘贴的是正确的吗?
答案2
除了 Karl Patrik Andersson 的答案解决了 Postfix 日志中的奇怪错误之外,我终于偶然发现了 dovecot.log 中的一个我错过的错误:
lmtp(11750): Fatal: Error reading configuration: Invalid settings: postmaster_address setting not given
这最终导致电子邮件无法发送,因为之前即使 master.cf 中出现拼写错误,邮件也能正常工作。这篇博文给出了解决方案: http://projectnotedump.wordpress.com/2013/09/08/our-email-server-is-online/
在 15-lda.conf 中,注释行 postmaster_address 必须设置为某个值,否则会导致此错误。将其设置为[电子邮件保护]邮件开始大量涌入。