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