Python IMAPlib ErrNo 10060

时间:2014-07-22 08:50:47

标签: python imap firewall imaplib

我正在编写一个脚本来从我的Web应用程序发送的电子邮件中获取链接,然后开始一组自动化测试。在我的代码应该只抓住电子邮件正文时,我还没有开始扫描其中的链接,因为我没有回复。

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 个答案:

答案 0 :(得分:0)

为了解决公司端口限制,我使用netsh命令使用终端中的以下命令将开放端口转发到端口993(imaplib的SSL默认值)

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