Fix for starttls connections for notification mail module
* starttls connection usage is now adding smtp.ehlo before smtp.has_extn function.
* Fixes #42338
(cherry picked from commit 5df01abd58
)
This commit is contained in:
parent
944161c9ea
commit
cbebcc3ac8
2 changed files with 11 additions and 4 deletions
2
changelogs/fragments/fix_tls_mail.yaml
Normal file
2
changelogs/fragments/fix_tls_mail.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- fix mail module when using starttls https://github.com/ansible/ansible/issues/42338
|
|
@ -263,6 +263,11 @@ def main():
|
|||
except smtplib.SMTPException as e:
|
||||
module.fail_json(rc=1, msg='Unable to Connect %s:%s: %s' % (host, port, to_native(e)), exception=traceback.format_exc())
|
||||
|
||||
try:
|
||||
smtp.ehlo()
|
||||
except smtplib.SMTPException as e:
|
||||
module.fail_json(rc=1, msg='Helo failed for host %s:%s: %s' % (host, port, to_native(e)), exception=traceback.format_exc())
|
||||
|
||||
if int(code) > 0:
|
||||
if not secure_state and secure in ('starttls', 'try'):
|
||||
if smtp.has_extn('STARTTLS'):
|
||||
|
@ -272,13 +277,13 @@ def main():
|
|||
except smtplib.SMTPException as e:
|
||||
module.fail_json(rc=1, msg='Unable to start an encrypted session to %s:%s: %s' %
|
||||
(host, port, to_native(e)), exception=traceback.format_exc())
|
||||
try:
|
||||
smtp.ehlo()
|
||||
except smtplib.SMTPException as e:
|
||||
module.fail_json(rc=1, msg='Helo failed for host %s:%s: %s' % (host, port, to_native(e)), exception=traceback.format_exc())
|
||||
else:
|
||||
if secure == 'starttls':
|
||||
module.fail_json(rc=1, msg='StartTLS is not offered on server %s:%s' % (host, port))
|
||||
try:
|
||||
smtp.ehlo()
|
||||
except smtplib.SMTPException as e:
|
||||
module.fail_json(rc=1, msg='Helo failed for host %s:%s: %s' % (host, port, to_native(e)), exception=traceback.format_exc())
|
||||
|
||||
if username and password:
|
||||
if smtp.has_extn('AUTH'):
|
||||
|
|
Loading…
Reference in a new issue