2014-07-22 112 views
0

我正在編寫一個腳本來抓取來自我的Web應用程序發出的電子郵件的鏈接,然後開始一組自動化測試。當時我的代碼應該只抓住電子郵件的正文,我還沒有開始掃描內的鏈接,因爲我沒有得到回報。Python IMAPlib ErrNo 10060

import imaplib 

mail = imaplib.IMAP4_SSL('imap.gmail.com') 
mail.login('user', 'passwd') 
mail.list() 
mail.select("inbox") 

result, data = mail.search(None, "ALL") 

ids = data[0] 
id_list = ids.split() 
latest_email_id = id_list[-1] 

result, data = mail.fetch(latest_email_id, "(RFC822)") 

raw_email = data[0][1] 
print raw_email 

我看不出有什麼錯誤的,我爲獲得最新的電子郵件(收件箱的頂部)和我的IMAP設置的科目代碼。任何人都可以啓發我爲什麼我得到的錯誤:

socket.error: [Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 

在此先感謝。

編輯:公司防火牆阻止端口143和993(默認IMAP(S)端口),我已經發布我的解決方法作爲答案。我的代碼沒有問題!

+1

作品使用netsh命令來使用以下命令端口轉發開放端口到端口993(默認imaplib的SSL)以及在這裏。您確定公司的防火牆,IT策略或某些防病毒/防火牆配置在您的機器上不會阻止它嗎? – sk11

+0

這可能是公司的防火牆! – Stormie

回答

0

爲了解決該公司端口限制我端子

netsh interface portproxy add v4tov4 listenport=UNBLOCKTHISPORT listenaddress=YOURIP connectport=THISPORTISOPEN connectaddress=YOURIP