diff options
-rwxr-xr-x | Mailman/Defaults.py.in | 6 | ||||
-rw-r--r-- | Mailman/Handlers/SMTPDirect.py | 3 | ||||
-rw-r--r-- | NEWS | 4 |
3 files changed, 12 insertions, 1 deletions
diff --git a/Mailman/Defaults.py.in b/Mailman/Defaults.py.in index 04d7db8a..a71875ac 100755 --- a/Mailman/Defaults.py.in +++ b/Mailman/Defaults.py.in @@ -469,6 +469,12 @@ PUBLIC_MBOX = No #DELIVERY_MODULE = 'Sendmail' DELIVERY_MODULE = 'SMTPDirect' +# Sometimes there are 'low level' smtplib failures that are difficult to +# debug. To enable very verbose debugging info from smtplib to Mailman's +# error log, set the following to 1. This will only work if +# DELIVERY_MODULE = 'SMTPDirect' and Python is >= 2.4. +SMTPLIB_DEBUG_LEVEL = 0 + # MTA should name a module in Mailman/MTA which provides the MTA specific # functionality for creating and removing lists. Some MTAs like Exim can be # configured to automatically recognize new lists, in which case the MTA diff --git a/Mailman/Handlers/SMTPDirect.py b/Mailman/Handlers/SMTPDirect.py index 1d11d19a..32b03423 100644 --- a/Mailman/Handlers/SMTPDirect.py +++ b/Mailman/Handlers/SMTPDirect.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2016 by the Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -61,6 +61,7 @@ class Connection: def __connect(self): self.__conn = smtplib.SMTP() + self.__conn.set_debuglevel(mm_cfg.SMTPLIB_DEBUG_LEVEL) self.__conn.connect(mm_cfg.SMTPHOST, mm_cfg.SMTPPORT) self.__numsessions = mm_cfg.SMTP_MAX_SESSIONS_PER_CONNECTION @@ -9,6 +9,10 @@ Here is a history of user visible changes to Mailman. New Features + - There is a new Defaults.py/mm_cfg.py setting SMTPLIB_DEBUG_LEVEL which + can be set to 1 to enable verbose smtplib debugging to Mailman's error + log to help with debugging 'low level smtp failures'. (LP: # 1573074) + - A list's nonmember_rejection_notice attribute will now be the default rejection reason for a held non-member post in addition to it's prior role as the reson for an automatically rejected non-member post. |