diff --git a/bms.py b/bms.py index c75d3e9a4211593849949dcd97bd2dd759adcae1..f159b2865965065d027759f863f2fa05aca00bbf 100644 --- a/bms.py +++ b/bms.py @@ -1,6 +1,9 @@ #!/usr/bin/env python # A simple milter that has grown quite a bit. # $Log$ +# Revision 1.105 2007/04/13 17:20:09 customdesigned +# Check access_file at startup. Compress rcpt to log. +# # Revision 1.104 2007/04/05 17:59:07 customdesigned # Stop querying gossip server twice. # @@ -797,6 +800,15 @@ class bmsMilter(Milter.Milter): self.reputation = int(a[-2]) self.confidence = int(a[-1]) self.umis = umis + # We would like to reject on bad reputation here, but we + # need to give special consideration to postmaster. So + # we have to wait until envrcpt(). Perhaps an especially + # bad reputation could be rejected here. + if self.reputation < -70 and self.confidence > 5: + self.log('REJECT: REPUTATION, rcpt to',to,str) + self.setreply('550','5.7.1', + 'Your domain has been sending nothing but spam') + return Milter.REJECT except: gossip = None raise