Gmail SMTP + XOAuth之谜

时间:2010-07-27 20:36:04

标签: python oauth gmail smtplib

我正在使用python smtplib和xoauth,我正在尝试发送电子邮件。 我使用的是Google发布的代码:http://code.google.com/p/google-mail-xoauth-tools/source/browse/trunk/python/xoauth.py

我实际上正在对Gmail进行身份验证,我收到了此回复

reply: '235 2.7.0 Accepted\r\n'

按预期发送我的XOAuth字符串(http://code.google.com/apis/gmail/oauth/protocol.html#smtp

当我撰写电子邮件时,我尝试发送,我收到以下错误

reply: '530-5.5.1 Authentication Required. Learn more at                              
reply: '530 5.5.1 http://mail.google.com/support/bin/answer.py?answer=14257 f10sm4144741bkl.17\r\n'

有任何线索吗?

1 个答案:

答案 0 :(得分:3)

问题在于你如何进行SMTP连接这是我代码中的代码片段:

    smtp_conn = smtplib.SMTP('smtp.googlemail.com', 587)
    #smtp_conn.set_debuglevel(True)
    smtp_conn.ehlo()
    smtp_conn.starttls()
    smtp_conn.ehlo()
    smtp_conn.docmd('AUTH', 'XOAUTH ' + base64.b64encode(xoauth_string))

您可以像Google中的示例一样创建xoauth_string。之后,您可以使用smtp_conn发送电子邮件。如果您有任何问题,请告诉我。您可以在https://github.com/PanosJee/xoauth

找到一些示例代码