summaryrefslogtreecommitdiff
path: root/mailman/queue/lmtp.py
diff options
context:
space:
mode:
authorBarry Warsaw2009-01-03 05:13:41 -0500
committerBarry Warsaw2009-01-03 05:13:41 -0500
commite5a96f14fb0fe8196e7b3ea0306c9f57f45c3110 (patch)
treee456327300678100b6cc6dfa625c7bc31a9f34a4 /mailman/queue/lmtp.py
parentc0522afd1754c7a18c40c9ebaa6c2ef406929170 (diff)
downloadmailman-e5a96f14fb0fe8196e7b3ea0306c9f57f45c3110.tar.gz
mailman-e5a96f14fb0fe8196e7b3ea0306c9f57f45c3110.tar.zst
mailman-e5a96f14fb0fe8196e7b3ea0306c9f57f45c3110.zip
- For command line scripts, -C names the configuration file to use. For
convenient testing, if -C is not given, then the environment variable MAILMAN_CONFIG_FILE is consulted. - Mailing lists no longer have a .web_page_url attribute; this is taken from the mailing list's domain's base_url attribute. - Incoming MTA selection is now taken from the config file instead of plugins. An MTA for Postfix+LMTP is added. bin/genaliases works again. - The LMTP server now properly calculates the message's original size. - If a message has no Message-ID, the stock archivers will return None for the permalink now instead of raising an assertion. - IArchiver no longer has an is_enabled property; this is taken from the configuration file now. - In bin/create_list, fixed a unicode problem when the language is defined in the configuration file. - Fixed bin/dumbdb, bin/list_lists, bin/remove_list, bin/unshunt, and bin/mailmanctl - config.archivers is a property now, not a dictionary that needs initialization from plugins. - IMailTransportAgent interface has been added.
Diffstat (limited to 'mailman/queue/lmtp.py')
-rw-r--r--mailman/queue/lmtp.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/mailman/queue/lmtp.py b/mailman/queue/lmtp.py
index f0895ee1f..1f45732a3 100644
--- a/mailman/queue/lmtp.py
+++ b/mailman/queue/lmtp.py
@@ -143,13 +143,14 @@ class LMTPRunner(Runner, smtpd.SMTPServer):
# Parse the message data. If there are any defects in the
# message, reject it right away; it's probably spam.
msg = email.message_from_string(data, Message)
+ msg.original_size = len(data)
if msg.defects:
return ERR_501
msg['X-MailFrom'] = mailfrom
except Exception, e:
elog.exception('LMTP message parsing')
config.db.abort()
- return CRLF.join([ERR_451 for to in rcpttos])
+ return CRLF.join(ERR_451 for to in rcpttos)
# RFC 2033 requires us to return a status code for every recipient.
status = []
# Now for each address in the recipients, parse the address to first
@@ -169,7 +170,8 @@ class LMTPRunner(Runner, smtpd.SMTPServer):
# The recipient is a valid mailing list; see if it's a valid
# sub-address, and if so, enqueue it.
queue = None
- msgdata = dict(listname=listname)
+ msgdata = dict(listname=listname,
+ original_size=msg.original_size)
if subaddress in ('bounces', 'admin'):
queue = 'bounce'
elif subaddress == 'confirm':