emails: include error details in exception message (#17064)

This commit is contained in:
Frédéric Péters 2017-06-21 13:21:04 +02:00
parent 77742a8d86
commit edc5525143
1 changed files with 7 additions and 7 deletions

View File

@ -249,33 +249,33 @@ def create_smtp_server(emails_cfg, smtp_timeout=None):
timeout=smtp_timeout)
except socket.timeout:
get_logger().error('Failed to connect to SMTP server (timeout)')
raise errors.EmailError()
raise errors.EmailError('Failed to connect to SMTP server (timeout)')
except socket.error:
# XXX: write message in a queue somewhere?
get_logger().error('Failed to connect to SMTP server')
raise errors.EmailError()
raise errors.EmailError('Failed to connect to SMTP server')
if not s.sock:
get_logger().error('Failed to connect to SMTP server')
raise errors.EmailError()
raise errors.EmailError('Failed to connect to SMTP server')
rc_code, ehlo_answer = s.ehlo()
if rc_code != 250:
get_logger().error('Failed to EHLO to SMTP server (%s)', rc_code)
raise errors.EmailError()
raise errors.EmailError('Failed to EHLO to SMTP server (%s)' % rc_code)
if 'STARTTLS' in ehlo_answer:
rc_code, starttls_answer = s.starttls()
if rc_code != 220:
get_logger().error('Failed to STARTTLS to SMTP server (%s)', rc_code)
raise errors.EmailError()
raise errors.EmailError('Failed to STARTTLS to SMTP server (%s)' % rc_code)
if emails_cfg.get('smtp_login'):
try:
s.login(emails_cfg.get('smtp_login') or '',
emails_cfg.get('smtp_password') or '')
except smtplib.SMTPAuthenticationError:
get_logger().error('Failed to authenticate to SMTP server')
raise errors.EmailError()
raise errors.EmailError('Failed to authenticate to SMTP server')
except smtplib.SMTPException:
get_logger().error('Failed to authenticate to SMTP server, unknown error.')
raise errors.EmailError()
raise errors.EmailError('Failed to authenticate to SMTP server, unknown error.')
return s
class EmailToSend(object):