Postfix:如何将电子邮件保存在邮件队列中以供进一步调查?

Postfix:如何将电子邮件保存在邮件队列中以供进一步调查?

有没有办法将电子邮件保留在 Postfix 邮件队列中以供调查/调试?我想延迟交付并将电子邮件保留在队列中,以便我检查其内容。完成此操作后,我将刷新队列并让 Postfix 交付它。我该怎么做?

如果无法处理单封电子邮件 - 是否可以将所有电子邮件排队一段时间?

答案1

抓住功能应该足以满足您的要求,或者在尚未传递的消息上使用它:

postsuper -h QUEUEID

由于您无法提前知道队列 ID,并且可能无法在 Postfix 将邮件排队和最终投递之间的时间内看到它,因此我建议提前定义要保留的消息的标准。

大多数smtpd_*_restrictions允许提供地图,可以自动标记某些邮件以供保留。示例:

# in main.cf
smtpd_client_restrictions = [..]
    reject_unknown_reverse_client_hostname
    [..]
    check_reverse_client_hostname_access hash:/etc/postfix/badrdns permit

# in /etc/postfix/badrdns
.subdomains.example.com            HOLD one of these is not a spammer

调查后,释放或从队列中删除邮件。

postqueue -p
# view a message from queue
postcat -qbhe QUEUEID | less

# deliver previously held
postsuper -H QUEUEID
# drop (DELETE!) a message
postsuoer -d QUEUEID

完成后,不要忘记删除 HOLD 规则(否则您会积累很长的队列)。

相关内容