删除邮件队列假脱机

删除邮件队列假脱机

删除以下文件夹中的文件可以吗?

/var/spool/clientmqueue

上面的文件夹超过 6GB,我想释放磁盘空间。我猜有些邮件无法发送。我不再需要这些邮件了。

答案1

请小心。有些文件可能只是由于目标服务器的问题而延迟的消息,即将重新发送。

尝试先看看是否可以清除队列。如果不起作用,请开始清除该队列中的邮件。对于某些邮件系统(例如 Postfix),有一种清除队列的特定方法。以下是直接来自 postsuper 手册页的方法:

       -d queue_id
          Delete one message with the named queue ID from the named mail queue(s) (default: hold, incoming, active and deferred).

          If a queue_id of - is specified, the program reads queue IDs from standard input. For example, to delete all mail with exactly one recipient [email protected]:

          mailq | tail +2 | grep -v '^ *(' | awk  'BEGIN { RS = "" }
              # $7=sender, $8=recipient1, $9=recipient2
              { if ($8 == "[email protected]" && $9 == "")
                    print $1 }
          ' | tr -d '*!' | postsuper -d -

最重要的是,确定队列目录为何如此之大。默认情况下,像 sendmail 和/或 postfix 这样的邮件系统最多会在队列中保留大约一周的时间,因此除非邮件服务器旨在处理高流量,否则拥有较大的邮件队列绝对不正常。

答案2

不,您不应该删除该文件夹。

原因通常是垃圾邮件过滤不当。您接受不存在的电子邮件地址的邮件,然后如果后来发现无法送达,您会退回邮件。(6GB 大小的文件夹通常意味着数千封邮件。)

问题在于您无法区分合法邮件和非合法邮件(可能存在暂时性错误,并且可传递的邮件被放置到该目录中)。

您应该实施一些(非常)基本的垃圾邮件过滤(例如不接受来自无法解析的发件人域的邮件),并且在一两周内该文件夹的大小将接近于零。

(我所说的内容使用 Postfix 很容易实现,而且有许多优秀的文档可供参考。但使用其他 MTA 也可以做到。)

相关内容