2012-02-03 407 views

回答

10
下面

是使用OAuth 2.0

email = '[email protected]' 
access_token = 'vF9dft4qmTc2Nvb3RlckBhdHRhdmlzdGEuY29tCg' 
auth_string = 'user=%s\1auth=Bearer %s\1\1' % (email, access_token) 

imap_conn = imaplib.IMAP4_SSL('imap.gmail.com') 
imap_conn.debug = 4 
imap_conn.authenticate('XOAUTH2', lambda x: auth_string) 
imap_conn.select('INBOX') 

如需詳細IMAP代碼:http://google-mail-oauth2-tools.googlecode.com/svn/trunk/python/oauth2.py

+0

代碼已移至github https://github.com/google/gmail-oauth2-tools/blob/master/python/oauth2.py – 2016-02-07 10:22:39

-1

IMAP不支持訪問收件箱中無密碼 - >所以imaplib犯規

+1

IMAP支持[SASL](http://tools.ietf.org/html/rfc4959)作爲擴展 – 2012-09-06 21:21:01

1

這是我一直在踢左右。我不希望玩弄令人耳目一新的令牌以及不是我自己的東西 - 我還發現Google示例中代碼太多了。我決定編寫非常簡單的包裝,以允許使用來自google-api-python-client的Credentials和Flow對象的OAuth2 IMAP和SMTP。

希望這有助於某人。

https://github.com/richieforeman/oauth2gmail