我需要了解 postgrey 如何跟踪入站邮件。我知道灰名单如何运作的概念,但我想知道实际的方法。灰名单将计算邮件服务器在给定时间段内成功发送邮件的次数,如果达到所需阈值,它将在 X 时间内成为已知邮件主机。
我明白那个。
但是,如果特定邮件第一次从未知的邮件主机进入,postgrey 如何跟踪该单独的邮件 - 即当它第二次从兼容服务器返回时,postgrey 如何知道它是“延迟的”邮件? “ 邮件?
答案1
总结行为:检查是针对 IP 地址+发送者+接收者进行的。连接状态保存在 Berkeley DB 中。
当连接到达时:
- 如果它是定义的白名单的一部分,则它被接受;
- 如果不在DB中,则添加到DB中并拒绝连接;
- 如果在数据库中:
- 如果是第一次重试,超出了retry_window,则从DB中丢弃;
- 如果它在定义的 retry_window 中,则连接将被接受。
IP 地址、发件人和收件人的三元组现在将作为“已知发件人”存储到 postgrey 的数据库中,并且来自同一地址的其他邮件应立即投递,不会有任何延迟。
由于大多数垃圾邮件发送者不会这样做 - 尝试再次发送 - 大多数垃圾邮件将被忽略。
找出上次是否不成功,以便我们可以添加一个标头来说明需要等待多少时间。
....
如果是第一次重试并且超出了 retry_window,则丢弃存储的首次看到的数据。