Properly log From: and Sender:
This commit is contained in:
@@ -1,3 +1,6 @@
|
|||||||
|
Add signature (x-sig=AB7485f=TS) to Received-SPF, so it can be used
|
||||||
|
to blacklist sources of delayed DSNs.
|
||||||
|
|
||||||
rcpt-addr may let us know when a recipient is unknown. That should count
|
rcpt-addr may let us know when a recipient is unknown. That should count
|
||||||
against reputation.
|
against reputation.
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# A simple milter that has grown quite a bit.
|
# A simple milter that has grown quite a bit.
|
||||||
# $Log$
|
# $Log$
|
||||||
|
# Revision 1.97 2007/03/18 02:32:21 customdesigned
|
||||||
|
# Gossip configuration options: client or standalone with optional peers.
|
||||||
|
#
|
||||||
# Revision 1.96 2007/03/17 21:22:48 customdesigned
|
# Revision 1.96 2007/03/17 21:22:48 customdesigned
|
||||||
# New delayed DSN pattern. Retab (expandtab).
|
# New delayed DSN pattern. Retab (expandtab).
|
||||||
#
|
#
|
||||||
@@ -967,6 +970,8 @@ class bmsMilter(Milter.Milter):
|
|||||||
userl = user.lower()
|
userl = user.lower()
|
||||||
if users and not newaddr and not userl in users:
|
if users and not newaddr and not userl in users:
|
||||||
self.log('REJECT: RCPT TO:',to)
|
self.log('REJECT: RCPT TO:',to)
|
||||||
|
if gossip and self.umis:
|
||||||
|
gossip_node.feedback(self.umis,1)
|
||||||
return Milter.REJECT
|
return Milter.REJECT
|
||||||
# FIXME: should dspam_exempt be case insensitive?
|
# FIXME: should dspam_exempt be case insensitive?
|
||||||
if user in block_forward.get(domain,()):
|
if user in block_forward.get(domain,()):
|
||||||
@@ -1154,11 +1159,11 @@ class bmsMilter(Milter.Milter):
|
|||||||
if hd == mf_domain or mf_domain.endswith('.'+hd): break
|
if hd == mf_domain or mf_domain.endswith('.'+hd): break
|
||||||
else:
|
else:
|
||||||
for f in msg.get_all('from',[]):
|
for f in msg.get_all('from',[]):
|
||||||
self.log(f)
|
self.log('From:',f)
|
||||||
sender = msg.get_all('sender')
|
sender = msg.get_all('sender')
|
||||||
if sender:
|
if sender:
|
||||||
for f in sender:
|
for f in sender:
|
||||||
self.log(f)
|
self.log('Sender:',f)
|
||||||
else:
|
else:
|
||||||
self.log("NOTE: Supplying MFROM as Sender");
|
self.log("NOTE: Supplying MFROM as Sender");
|
||||||
self.add_header('Sender',self.mailfrom)
|
self.add_header('Sender',self.mailfrom)
|
||||||
|
|||||||
+4
-2
@@ -24,11 +24,13 @@ exists by sending you this DSN. We will remember this sender and not
|
|||||||
bother you again for a while. You can avoid this message entirely for
|
bother you again for a while. You can avoid this message entirely for
|
||||||
legitimate mail by using an authorized SMTP server. Contact your mail
|
legitimate mail by using an authorized SMTP server. Contact your mail
|
||||||
administrator and ask how to configure your email client to use an
|
administrator and ask how to configure your email client to use an
|
||||||
authorized server.
|
authorized server.
|
||||||
|
|
||||||
If you never sent the above message, then your domain has been forged.
|
If you never sent the above message, then your domain has been forged.
|
||||||
Your mail admin needs to publish a strict SPF record so that I can reject
|
Your mail admin needs to publish a strict SPF record so that I can reject
|
||||||
those forgeries instead of bugging you about them.
|
those forgeries instead of bugging you about them.
|
||||||
|
|
||||||
|
See http://openspf.org for details.
|
||||||
|
|
||||||
If you need further assistance, please do not hesitate to contact me.
|
If you need further assistance, please do not hesitate to contact me.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user