Mercurial > cpython-lru_cache-weakref
changeset 57591:be1cbc15d9f5 legacy-trunk
logging: Added optional 'secure' parameter to SMTPHandler.
| author | Vinay Sajip <vinay_sajip@yahoo.co.uk> |
|---|---|
| date | Sun, 06 Dec 2009 17:57:11 +0000 |
| parents | eea803d235d3 |
| children | 607f518bd3cf |
| files | Lib/logging/handlers.py Misc/NEWS |
| diffstat | 2 files changed, 13 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/Lib/logging/handlers.py Sun Dec 06 17:37:48 2009 +0000 +++ b/Lib/logging/handlers.py Sun Dec 06 17:57:11 2009 +0000 @@ -809,7 +809,8 @@ """ A handler class which sends an SMTP email for each logging event. """ - def __init__(self, mailhost, fromaddr, toaddrs, subject, credentials=None): + def __init__(self, mailhost, fromaddr, toaddrs, subject, + credentials=None, secure=False): """ Initialize the handler. @@ -817,7 +818,9 @@ line of the email. To specify a non-standard SMTP port, use the (host, port) tuple format for the mailhost argument. To specify authentication credentials, supply a (username, password) tuple - for the credentials argument. + for the credentials argument. To specify the use of a secure + protocol (TLS), pass in True for the secure argument. This will + only be used when authentication credentials are supplied. """ logging.Handler.__init__(self) if isinstance(mailhost, tuple): @@ -833,6 +836,7 @@ toaddrs = [toaddrs] self.toaddrs = toaddrs self.subject = subject + self.secure = secure def getSubject(self, record): """ @@ -884,6 +888,10 @@ self.getSubject(record), formatdate(), msg) if self.username: + if self.secure: + smtp.ehlo() + smtp.starttls() + smtp.ehlo() smtp.login(self.username, self.password) smtp.sendmail(self.fromaddr, self.toaddrs, msg) smtp.quit()
--- a/Misc/NEWS Sun Dec 06 17:37:48 2009 +0000 +++ b/Misc/NEWS Sun Dec 06 17:57:11 2009 +0000 @@ -507,6 +507,9 @@ Library ------- +- logging: Added optional `secure` parameter to SMTPHandler, to enable use of + TLS with authentication credentials. + - Issue #1923: Fixed the removal of meaningful spaces when PKG-INFO is generated in Distutils. Patch by Stephen Emslie.
