summaryrefslogtreecommitdiff
path: root/src/mailman/mta/connection.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/mta/connection.py')
-rw-r--r--src/mailman/mta/connection.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mailman/mta/connection.py b/src/mailman/mta/connection.py
index 922c492e9..105d25afb 100644
--- a/src/mailman/mta/connection.py
+++ b/src/mailman/mta/connection.py
@@ -54,6 +54,7 @@ class Connection:
self._host = host
self._port = port
self._sessions_per_connection = sessions_per_connection
+ self._session_count = None
self._connection = None
def _connect(self):
@@ -61,6 +62,7 @@ class Connection:
self._connection = smtplib.SMTP()
log.debug('Connecting to %s:%s', self._host, self._port)
self._connection.connect(self._host, self._port)
+ self._session_count = self._sessions_per_connection
def sendmail(self, envsender, recips, msgtext):
"""Mimic `smtplib.SMTP.sendmail`."""
@@ -74,11 +76,11 @@ class Connection:
self.quit()
raise
# This session has been successfully completed.
- self._sessions_per_connection -= 1
+ self._session_count -= 1
# By testing exactly for equality to 0, we automatically handle the
# case for SMTP_MAX_SESSIONS_PER_CONNECTION <= 0 meaning never close
# the connection. We won't worry about wraparound <wink>.
- if self._sessions_per_connection == 0:
+ if self._session_count == 0:
self.quit()
return results