def _open_server(self):
self.server = SMTP(params['smtp_server'], params.get("smtp_port", 587))
self.server.ehlo()
self.server.starttls()
if params.get('use_gmail_oauth2'):
auth_email, access_token = _get_oauth_info()
auth_string = b'user=' + bytes(params['sender_email_address'],
'ascii') + b'\1auth=Bearer ' + access_token + b'\1\1'
log.info(auth_string)
code, msg = self.server.docmd('AUTH', 'XOAUTH2 ' + (base64.b64encode(auth_string)).decode('ascii'))
log.info("Code {} Message {}", code, base64.decodebytes(msg))
if code == 235:
return True
code, msg = self.server.docmd('')
log.info("code {}, Message {}", code, msg)
return False
try:
self.server.login(params['sender_email_address'], params['sender_password'])
return True
except SMTPAuthenticationError:
log.warn("SMTP Password Authentication Failed", ex_info=True)
return False
评论列表
文章目录