2013-07-17 3 views
2

Я пытался подключиться к моей учетной записи Gmail с помощью python. imap включен.Подключение к Gmail из Python

import imaplib 

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

Traceback является:

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 
+0

Вы можете убедиться, что у вас есть доступ, и проверить с помощью 'traceroute'? вы можете быть за брандмауэром. – dnozay

ответ

7

Какие OSError: [Errno 65] No route to host средства является то, что он говорит: вы не можете добраться до этой машины от вашей машины.

Вы можете проверить, что из-за пределов Python, открыв терминальное/DOS строки и введите следующее:

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 ", такая же проблема и здесь.

Во всяком случае, как только вы подтвердили, что это проблема с системой или сетевой конфигурацией, а не проблема с программированием, обратитесь за помощью к своей системе на соответствующий сайт.

+0

Оказывается, это был маршрутизатор. Благодарю. – user2592729

+0

У меня такая же проблема, но я вижу 'подключен к gmail..' – 3zzy

+1

@ 3zzy: Тогда у вас есть такая же проблема. Создайте новый вопрос со всей необходимой информацией; вы можете включить ссылку на этот вопрос или ответ, если считаете, что это поможет. И не забудьте объяснить, что вы можете подключиться к telnet с той же машины. – abarnert

Смежные вопросы