4.7.1 服务不可用 - 稍后重试

4.7.1 服务不可用 - 稍后重试

我不确定这里是不是最适合回答这个问题的地方,但我在 Google 上搜索了一番,似乎找不到解决我的问题的方法。如有必要,请随时将我重定向到其他地方。:)

因此,我在 Ubuntu 14.04 上托管了一个邮件服务器,使用 postfix。我最近注意到,自上周以来,我没有收到任何邮件。在

/var/log/mail.log 

我看到很多

milter-reject: END-OF-MESSAGE from localhost[127.0.0.1]: 4.7.1 Service unavailable - try again later;

消息。我能找到的关于该特定错误的唯一线程(https://serverfault.com/questions/676473/postfix-milter-reject-end-of-message-from-4-7-1-service-unavailable-try-again) 建议从 DKIM 移至 OpenDKIM。但是,我已经在使用 OpenDKIM,所以(可能)这不是问题。

我还注意到这些信息位于

/var/spool/postfix/maildrop

但不知道如何将它们从那里弄出来/它们为什么在那里。有一些错误说以下目的地不可写,但现在我已经给了它正确的权限...我想。

/var/lib/spamassassin/sa-update-keys/

root@ip-00-00-00-00:/var/spool/postfix/maildrop# ls -l /var/lib/spamassassin/sa-update-keys/
total 8
-rw------- 1 spamd spamd 2783 Oct 28  2015 pubring.gpg
-rw------- 1 spamd spamd    0 Oct 28  2015 pubring.gpg~
-rw------- 1 spamd spamd    0 Oct 28  2015 secring.gpg
-rw------- 1 spamd spamd 1200 Oct 28  2015 trustdb.gpg

我尝试过重启所有服务,但都无济于事。我现在有点不知道该怎么做,所以任何帮助我都会很感激。

问候 B

答案1

因此,我意识到 clamav-daemon 没有正确重启,它也使用(正确的术语??)milter。在查看 clamav-milter 的日志(/var/log/clamav/clamav-milter.log)时,我可以看到 clamd 服务器没有正确启动

Sun Jun 12 06:29:00 2016 -> WARNING: No clamd server appears to be available
Sun Jun 12 06:29:25 2016 -> ERROR: Failed to initiate streaming/fdpassing

查看 clamav.log (/var/log/clamav/clamav.log) 我发现内存分配存在问题:

Mon Jun 13 13:20:55 2016 -> LOCAL: Unix socket file /var/run/clamav/clamd.ctl
Mon Jun 13 13:20:55 2016 -> LOCAL: Setting connection queue length to 15
Mon Jun 13 13:20:55 2016 -> ERROR: daemonize() failed: Cannot allocate memory
Mon Jun 13 13:20:55 2016 -> Socket file removed.

查看内存使用情况:

             total       used       free     shared    buffers     cached
Mem:           992        759        232         10          6         75
-/+ buffers/cache:        677        314

因此,我没有扩大我的 AWS 实例(从而增加成本 :P),而是使用了这个(https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04)添加交换空间,然后服务就启动了!:)

然后我可以按照这个(http://www.anta.net/misc/telnet-troubleshooting/smtp.shtml) 检查我是否通过 telnet 接收邮件。

我希望我的悲剧能够帮助到别人。

快乐地使用 Ubuntu。

编辑 1:删除我悲惨的“postfix flush”建议,遗憾的是它会删除主队列,而不是像我最初读到的那样“处理”邮件队列。:(

相关内容