Article ID: 169, created on Apr 1, 2013, last review on Aug 19, 2016

  • Applies to:
  • Plesk for Linux/Unix

问题

收发邮件都没有任何问题,但是有些信息停留在队列中:

# /var/qmail/bin/qmail-qstat
队列中的信息37
队列中还未预处理的信息:0

我该怎么办? 这些信息会在队列中停留多久?

原因

邮件无法交付到某些地址的情况很容易发生。如果 Qmail 暂时无法交付某个信息到目的服务器(例如,因网络问题),则会把信息存储在队列中,在 /var/qmail/control/queuelifetime 中设置的时间段内(默认设置为一周)会进一步尝试交付信息。

解决方案

对于 Qmail 队列中的滞留信息没有任何办法可以解决。这些信息最终都将会被交付给既定的收件人或在七日后附以致命错误被退回。

Qmail 决定邮件发送的计算法是硬编码的,无法被修改。您可以参阅 http://www.lifewithqmail.org/lwq.html#retry-schedule 查看更多详情和准确的值。

您可以通过 $PRODUCT_ROOT_D/var/log/maillog 查找邮件交付失败的原因

如果您想要强制 Qmail 处理滞留在队列中的邮件,请发送 "ALRM" 信号给 "qmail-send" 进行,Qmail 将会立即尝试发送队列中的所有信息:

kill -ALRM `ps ax | grep [q]mail-send | awk '{print $1}'`

欲了解如何检查滞留在队列中的信息以及如果太多 SPAM 信息滞留在队列中应如何应对,请参阅 #766

a914db3fdc7a53ddcfd1b2db8f5a1b9c 56797cefb1efc9130f7c48a7d1db0f0c 29d1e90fd304f01e6420fbe60f66f838

Email subscription for changes to this article