![我可以在 Postfix 中记录消息到达率超过消息投递率的情况吗?](https://linux22.com/image/791275/%E6%88%91%E5%8F%AF%E4%BB%A5%E5%9C%A8%20Postfix%20%E4%B8%AD%E8%AE%B0%E5%BD%95%E6%B6%88%E6%81%AF%E5%88%B0%E8%BE%BE%E7%8E%87%E8%B6%85%E8%BF%87%E6%B6%88%E6%81%AF%E6%8A%95%E9%80%92%E7%8E%87%E7%9A%84%E6%83%85%E5%86%B5%E5%90%97%EF%BC%9F.png)
我正在尝试实现 MTA,在阅读 postfix 文档时,我发现一个参数“in_flow_delay”,其描述为“当消息到达率超过消息传递率时,在接受新消息之前暂停的时间”。当这种情况发生时,我该如何记录或接收电子邮件通知?
根据回答和评论,我猜想当这种情况发生时,postfix 确实会记录。但有人可以解释一下我现在如何测试此记录(即当交付率得到控制时)?
同样只是为了符合要求,我想问一下,我是否错误地认为这个条件衡量队列中的拥塞(访问限制后实际接受的电子邮件),而 Postfix 中的压力条件衡量传入的连接溢出(例如在发生 DDoS 攻击的情况下)。
答案1
Postfix 在设计时默认实现了日志记录。根据您的 Linux 发行版,它可以使用 systemd logs( journalctl -u postfix
) 将日志记录到 journalctl,或者使用 syslog 或 rsyslog 将日志记录到 /var/log 中的单独日志文件。您可能需要稍微调整日志记录级别才能获得正确的信息。
答案2
这是非常具体的。正如评论中所说,正常日志级别下,此事件应出现在日志中。要通过电子邮件通知发生这种情况,您应该编写一个日志解析器脚本,并在此事件出现在日志中时触发邮件。