我有以下代码,它适用于我自己的个人电子邮件。
import getpass, imaplib
import email
import libgmail
import re
#M=imaplib.IMAP4()
M=imaplib.IMAP4_SSL('imap.gmail.com',993)
M.login('loginname@company.com','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)但我有一个连接超时 -
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 :(得分:0)
您似乎遇到了防火墙问题
您的公司不允许在端口993上连接到imap.gmail.com
正如其中一条评论中所建议的那样,从命令行尝试:
telnet imap.gmail.com 993
如果超时或出错,则不允许从您的机器访问该端口。
答案 1 :(得分:0)
连接被阻塞。以下可能是可能的原因:
proxy用于Internet访问。 Python尝试直接连接。
防火墙或网络安全设备阻止连接
系统或AV阻止连接的本地防火墙