从 python 3.4 脚本发送电子邮件,但未在 gmail 中启用 'less secure apps'

sending email from python 3.4 script, WITHOUT enabling 'less secure apps' in gmail

我想使用 python 3.4 脚本从我的 gmail 地址发送邮件。 我使用以下代码:

import smtplib  

def sendmail():  
    sender='myemail@gmail.com'  
    receiver=['someone@gmail.com']  
    message='text here'  
    try:  
        session=smtplib.SMTP('smtp.gmail.com',587)  
        session.ehlo()  
        session.starttls()  
        session.ehlo()  
        session.login(sender,'mypassword')  
        session.sendmail(sender,receiver,message)  
        session.quit()  
    except smtplib.SMTPException:  
        print('Error, can not send mail!')

如果我 'allow less secure apps' 在我的 gmail 帐户中,脚本可以正常工作。但是,如果我禁用 'less secure apps',它就不起作用(我收到一封来自 google 的警告电子邮件,其中包含 'sign-in attempt blocked')。我想修改我的代码,以便能够在不启用此功能的情况下发送邮件。

我已经阅读了所有类似问题的问答,但没有找到任何有用的答案或方法。有人对此有解决方案吗?

来自"Allowing less secure apps to access your account" support page

Google may block sign in attempts from some apps or devices that do not use modern security standards.

A login/password 不是现代的身份验证机制。你应该实施 SASL XOAuth2.