Таймаут Python imap при подключении к Gmail из учетной записи общего хостинга
Я пытаюсь добавить скрипт Python в общую учетную запись веб-хостинга, и я не могу получить даже самые простые скрипты для установления действительного подключения imap к gmail. В качестве тестового примера я создал следующий скрипт:
import imaplib
conn = imaplib.IMAP4_SSL("imap.gmail.com", 993)
conn.login(<EMAIL_ADDRESS>, <PASSWORD>)
Это производит следующий вывод:
Traceback (последний вызов был последним):
Файл "imapTest.py", строка 2, в? conn = imaplib.IMAP4_SSL("imap.gmail.com", 993) Файл "/usr/lib64/python2.4/imaplib.py", строка 1101, в init IMAP4. Файлinit(self, host, port) "/usr/lib64/python2.4/imaplib.py", строка 160, в файле init self.open (host, port) "/usr/lib64/python2.4/imaplib. py ", строка 1113, в открытом файле self.sock.connect((host, port)) File "", строка 1, в файле connect socket.error: (110, 'Тайм-аут соединения')
Как мне решить проблему? Возможно ли, что мой хостинг-провайдер блокирует исходящие запросы imap?
1 ответ
TELNET - это всегда хороший универсальный инструмент тестирования TCP, который доступен в большинстве операционных систем.
Можете ли вы TELNET на imap.gmail.com, порт 993, из оболочки на вашем хосте и получить открытое TCP-соединение? Если нет, я бы начал говорить с хостом о том, блокируют ли они этот трафик или нет.
Редактировать:
Чтобы проверить подключение к произвольному порту TCP с помощью TELNET, вам нужно указать номер порта в команде TELNET, например. Для порта 993, например:
telnet imap.gmail.com 993
Если вы не укажете номер порта, предполагается порт по умолчанию для TELNET, порт 23.