ab21e7d02e
a new patch is released.
44 lines
2.1 KiB
Diff
44 lines
2.1 KiB
Diff
--- Mailman/Handlers/SMTPDirect.py.orig 2010-09-20 14:18:27.000000000 -0400
|
|
+++ Mailman/Handlers/SMTPDirect.py 2010-10-16 20:26:51.913097648 -0400
|
|
@@ -64,11 +64,11 @@
|
|
self.__conn.connect(mm_cfg.SMTPHOST, mm_cfg.SMTPPORT)
|
|
self.__numsessions = mm_cfg.SMTP_MAX_SESSIONS_PER_CONNECTION
|
|
|
|
- def sendmail(self, envsender, recips, msgtext):
|
|
+ def sendmail(self, envsender, recips, msgtext, mailopts=[]):
|
|
if self.__conn is None:
|
|
self.__connect()
|
|
try:
|
|
- results = self.__conn.sendmail(envsender, recips, msgtext)
|
|
+ results = self.__conn.sendmail(envsender, recips, msgtext, mailopts)
|
|
except smtplib.SMTPException:
|
|
# For safety, close this connection. The next send attempt will
|
|
# automatically re-open it. Pass the exception on up.
|
|
@@ -114,7 +114,7 @@
|
|
# recipients they'll swallow in a single transaction.
|
|
deliveryfunc = None
|
|
if (not msgdata.has_key('personalize') or msgdata['personalize']) and (
|
|
- msgdata.get('verp') or mlist.personalize):
|
|
+ (msgdata.get('verp') and mm_cfg.VERP_STYLE == 'Manual') or mlist.personalize):
|
|
chunks = [[recip] for recip in recips]
|
|
msgdata['personalize'] = 1
|
|
deliveryfunc = verpdeliver
|
|
@@ -375,6 +375,9 @@
|
|
if mlist.include_sender_header:
|
|
del msg['sender']
|
|
msg['Sender'] = envsender
|
|
+ mailopts=[]
|
|
+ if msgdata.get('verp') and mm_cfg.VERP_STYLE == 'Postfix':
|
|
+ mailopts.append('XVERP=' + mm_cfg.POSTFIX_XVERP_OPTS)
|
|
# Get the plain, flattened text of the message, sans unixfrom
|
|
# using our as_string() method to not mangle From_ and not fold
|
|
# sub-part headers possibly breaking signatures.
|
|
@@ -384,7 +387,7 @@
|
|
msgid = msg['message-id']
|
|
try:
|
|
# Send the message
|
|
- refused = conn.sendmail(envsender, recips, msgtext)
|
|
+ refused = conn.sendmail(envsender, recips, msgtext, mailopts)
|
|
except smtplib.SMTPRecipientsRefused, e:
|
|
syslog('smtp-failure', 'All recipients refused: %s, msgid: %s',
|
|
e, msgid)
|