2012-10-11 35 views
1

我有以下代碼,它適用於我自己的個人電子郵件。使用imaplib訪問企業gmail

import getpass, imaplib 
import email 
import libgmail 
import re 

#M=imaplib.IMAP4() 
M=imaplib.IMAP4_SSL('imap.gmail.com',993) 
M.login('[email protected]','password') 
M.select('bur-dev') 

typ, data = M.search(None, 'ALL') 
for num in data[0].split(): 
    typ, data = M.fetch(num, '(RFC822)') 
    print 'Message %s\n%s\n' % (num, data[0][1]) 
M.close() 
M.logout() 

與我公司郵箱,但(我有IMAP打開),我收到了連接時間OUT-

C:\Python24\libgmail-0.1.11>python gmail_app.py 
Traceback (most recent call last): 
    File "gmail_app.py", line 7, in <module> 
    M=imaplib.IMAP4_SSL('imap.gmail.com',993) 
    File "/usr/lib/python2.6/imaplib.py", line 1138, in __init__ 
    IMAP4.__init__(self, host, port) 
    File "/usr/lib/python2.6/imaplib.py", line 163, in __init__ 
    self.open(host, port) 
    File "/usr/lib/python2.6/imaplib.py", line 1149, in open 
    self.sock = socket.create_connection((host, port)) 
    File "/usr/lib/python2.6/socket.py", line 514, in create_connection 
    raise error, msg 
socket.error: [Errno 116] Connection timed out 

如何調試這個任何想法?港口沒有防火牆,因爲它正在爲我的個人電子郵件工作。

+0

哦,我先嚐試libgmail,根本沒有任何工作,然後我發現libgmail已經停止::( – user185608

+2

在登錄通過之前似乎失敗了。只需要排除這一點,你可以嘗試telnet imap。 gmail.com 993? –

+0

您是否在個人郵件和公司郵件中使用SSL?如果您嘗試使用'M = imaplib.IMAP('imap.gmail.com')'? – mhawke

回答

0

您似乎有防火牆問題。
您的公司不允許在端口993
到imap.gmail.com連接誠如命令行註釋嘗試的一個建議:如果時間
的telnet imap.gmail.com 993

出錯或出錯,則不允許從您的機器訪問該端口。

+0

謝謝,就是這樣。 – user185608

+0

我在這裏遇到同樣的問題,當我使用telnet imap.gmail.com 993時,它失敗了,並說'遠程登錄:無法連接到遠程主機:連接被拒絕'。我應該怎麼做才能糾正它 – flyingfoxlee

+0

我的連接被外部主機拒絕!? – dylnmc