我有一台 Ubuntu 14.04 服务器,正在测试 Postfix。我的 /var 分区在某个时刻已满,但我仍然可以发送一些电子邮件(本地和其他主机)。 Postfix 接受发送这些电子邮件,但它们保存在/var/spool/postfix/maildrop
文件名类似A4DC8242D8
等的文件夹中。
我看到/var/log/syslog
如下错误:
ubuntu postfix/pickup[3989]: warning: maildrop/A4DC8242D8: error writing 09A6E25281: queue file write error
关于 maildrop 文件夹中的另一个文件,我在syslog
或中什么也没有得到mail.log
。
我猜测错误消息warning: maildrop/A4DC8242D8: error writing 09A6E25281: queue file write error
想说 Postfix 正在尝试将文件 A4DC8242D8 作为maildrop
文件 09A6E25281 从文件夹传递到队列文件夹,但由于空间不足而不能。
我确信如果我释放一些空间,一切都会好起来的,但我只是想弄清楚下面的内容。
我的问题是,为什么电子邮件没有送达?为什么他们被接受发送?该队列的位置在哪里?
答案1
好的,如果他们被困在队列中,请尝试:
postsuper -d ALL deferred
重新root
处理队列中卡住的任何内容(mailq
之前和之后运行并检查日志以确认事情再次正常工作)。
还可以设置监控,以便您在邮件分区填满之前收到警报或其他信息...
至于队列目录在哪里,postconf | grep queue
应该是一个好的开始,然后手动挖掘下queue_directory
。当磁盘填满时,被卡住的邮件可能正在传输中(也就是说,它们已被邮件服务器接受,但尚未成功移交给本地投递代理)。