2

Pythonを使用してGmailアカウントに接続しようとしています。imap有効になっています。

import imaplib

imap_server = imaplib.IMAP4_SSL("imap.gmail.com",993)
# also tried imap_server = imaplib.IMAP4_SSL("imap.gmail.com"), doesnt work. 

トレースバックは:

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    imap_server = imaplib.IMAP4_SSL("imap.gmail.com",993)
  File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/imaplib.py", line 1202, in __init__
    IMAP4.__init__(self, host, port)
  File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/imaplib.py", line 172, in __init__
    self.open(host, port)
  File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/imaplib.py", line 1217, in open
    IMAP4.open(self, host, port)
  File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/imaplib.py", line 248, in open
    self.sock = self._create_socket()
  File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/imaplib.py", line 1205, in _create_socket
    sock = IMAP4._create_socket(self)
  File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/imaplib.py", line 238, in _create_socket
    return socket.create_connection((self.host, self.port))
  File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/socket.py", line 435, in create_connection
    raise err
  File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/socket.py", line 426, in create_connection
    sock.connect(sa)
OSError: [Errno 65] No route to host
4

1 に答える 1

7

つまり、あなたOSError: [Errno 65] No route to hostのマシンからそのマシンにアクセスすることはできません。

ターミナル/DOS プロンプトを開いて次のように入力すると、Python の外部からテストできます。

ping imap.gmail.com

これは実際には名前検索エラーである可能性があり、どういうわけか のアドレスが間違っていますimap.gmail.com。したがって、念のため、IP アドレスでも確認してください。

ping 74.125.129.108
ping 74.125.129.109

動作する場合pingは、ルーターが何らかの理由でホストへの TCP アクセスをブロックしているかどうかを確認できます。たとえば、次のようにします。

telnet imap.gmail.com

機能している場合は、長時間ハングするか、接続拒否エラーが発生するはずです。ホストへのルートがないというエラーが表示される場合は、同じ問題が発生しています。

ルーターがポート 993 を明確にブロックしている可能性もあります。これもテストできます。

telnet imap.gmail.com 993

「gmail-imap.l.google.com に接続しました」のようなメッセージが表示されない場合は、こちらも同じ問題です。

いずれにせよ、これがプログラミングの問題ではなく、システムまたはネットワークの構成の問題であることを確認したら、適切なサイトでシステムに関するヘルプを求めてください。

于 2013-07-17T19:24:35.327 に答える