1

我有以下代码,它适用于我自己的个人电子邮件。

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

关于如何调试的任何想法?该端口没有防火墙,因为它适用于我的个人电子邮件。

4

2 回答 2

0

您似乎遇到了防火墙问题。
您的公司不允许在端口 993 上连接到 imap.gmail.com。
正如评论之一中建议的那样,从命令行尝试:
telnet imap.gmail.com 993

如果超时或出错,则不允许从您的机器访问该端口。

于 2012-10-17T08:41:38.487 回答
0

连接被阻塞。以下可能是可能的原因:

  1. 代理用于互联网访问。Python 尝试直接连接。

  2. 防火墙或网络安全设备阻止连接

  3. 系统本地fireall或AV阻塞连接

于 2018-07-11T14:48:50.880 回答