[prev in list] [next in list] [prev in thread] [next in thread]
List: tmda-cvs
Subject: CVS: tmda/bin ChangeLog,1.63,1.64 tmda-filter,1.52,1.53
From: "Jason R. Mastaler" <jasonrm () users ! sourceforge ! net>
Date: 2001-08-29 0:06:20
[Download RAW message or body]
Update of /cvsroot/tmda/tmda/bin
In directory usw-pr-cvs1:/tmp/cvs-serv4201/bin
Modified Files:
ChangeLog tmda-filter
Log Message:
Check for "Precedence: bulk" or "Precedence: junk" headers before
sending a confirmation request or acceptance notice.
These headers are often added to auto-replies and mailing list
messages, so the rationale is that programs (such as TMDA) should not
generate an auto-reply to any incoming message that contains them.
Index: ChangeLog
===================================================================
RCS file: /cvsroot/tmda/tmda/bin/ChangeLog,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -r1.63 -r1.64
--- ChangeLog 2001/08/28 23:09:16 1.63
+++ ChangeLog 2001/08/29 00:06:18 1.64
@@ -3,6 +3,10 @@
* tmda-filter (recipient_address): Only parse VIRTUALDOMAINS if
support is turned on *and* the file exists.
+ (auto_reply): Check for "Precedence: bulk" or "Precedence: junk"
+ headers before sending a confirmation request or acceptance
+ notice.
+
(recipient_address): Add support for wildcards and "virtual user"
entries in VIRTUALDOMAINS.
Index: tmda-filter
===================================================================
RCS file: /cvsroot/tmda/tmda/bin/tmda-filter,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -r1.52 -r1.53
--- tmda-filter 2001/08/28 23:09:16 1.52
+++ tmda-filter 2001/08/29 00:06:18 1.53
@@ -147,7 +147,17 @@
# Collect the message's Subject: for later use.
subject = message_headers.getheader('subject', 'None')
+# Collect the message's Precedence: header.
+precedence = message_headers.getheader('precedence', None)
+# If its value is "bulk" or "junk", we should not generate any
+# auto-replies.
+auto_reply = 1
+if precedence:
+ precedence = string.lower(precedence)
+ if precedence in ('bulk','junk'):
+ auto_reply = 0
+
def logit(action_msg,date):
"""Write delivery statistics to the LOGFILE if enabled."""
if Defaults.LOGFILE and recipient_address:
@@ -177,23 +187,24 @@
def send_bounce(bounce_message, **vars):
"""Send a confirmation message back to the sender."""
- bounce_message = cStringIO.StringIO(bounce_message)
- message_headers = rfc822.Message(bounce_message)
- # Add some headers.
- if not vars.has_key('already_confirmed'):
- message_headers['Reply-To'] = vars['confirm_accept_address']
- message_headers['Return-Path'] = '<' + Defaults.BOUNCE_ENV_SENDER + '>'
- message_headers['To'] = envelope_sender
- message_headers['X-Delivery-Agent'] = Defaults.DELIVERY_AGENT
- message_body = bounce_message.read()
- inject = []
- inject.append(Defaults.INJECT)
- inject.append(envelope_sender)
- pipeline = popen2.popen2(inject)[1]
- pipeline.write(str(message_headers))
- pipeline.write('\n')
- pipeline.write(message_body)
- pipeline.close()
+ if auto_reply:
+ bounce_message = cStringIO.StringIO(bounce_message)
+ message_headers = rfc822.Message(bounce_message)
+ # Add some headers.
+ if not vars.has_key('already_confirmed'):
+ message_headers['Reply-To'] = vars['confirm_accept_address']
+ message_headers['Return-Path'] = '<' + Defaults.BOUNCE_ENV_SENDER + '>'
+ message_headers['To'] = envelope_sender
+ message_headers['X-Delivery-Agent'] = Defaults.DELIVERY_AGENT
+ message_body = bounce_message.read()
+ inject = []
+ inject.append(Defaults.INJECT)
+ inject.append(envelope_sender)
+ pipeline = popen2.popen2(inject)[1]
+ pipeline.write(str(message_headers))
+ pipeline.write('\n')
+ pipeline.write(message_body)
+ pipeline.close()
def bounce_cc(address):
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic