Linux 技术手札

删除 Postfix Queue 内邮件

Postfix 跟其他 MTA 一样, 会将不能成功发送的邮件放到 Queue 里面, 在特定的时间内重新尝试发送, 超过指定的时间会自动删除。但如果发送大量邮件, 例如有用户发送大量垃圾电邮, 会在 Queue 内积压大量的邮件, 这时可以手动删除。

以下删除 Postfix Queue 内邮件的方法:

列出 Postfix Queue 内所有邮件:

# mailq

删除 Postfix Queue 内所有邮件:

# postsuper -d ALL

删除所有 Deferred Queue 内的邮件:

# postsuper -d ALL deferred

以下 Perl Script 可以根据 regular expression 删除邮件:

postfix-delete.pl

例如要删除所有在 Queue 内网域是 spam.domain 的邮件, 可以这样:

# ./postfix-delete.pl spam.domain
Exit mobile version