Python IMAPlib ErrNo 10060

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

import imaplib

mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login('user', 'passwd')
mail.list()
mail.select("inbox")

result, data = mail.search(None, "ALL")

ids = data[0]
id_list = ids.split()
latest_email_id = id_list[-1]

result, data = mail.fetch(latest_email_id, "(RFC822)")

raw_email = data[0][1]
print raw_email

Я не вижу ничего плохого в своем коде для получения самой новой электронной почты (верхняя часть входящей почты), и мой IMAP настроен для учетной записи. Может кто-нибудь объяснить мне, почему я получаю ошибку:

socket.error: [Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

Заранее спасибо.

Изменить: Брандмауэр компании блокирует порты 143 и 993 (порт IMAP(S) по умолчанию), я опубликовал мой обходной путь в качестве ответа. В моем коде нет ничего плохого!

1 ответ

Решение

Чтобы обойти ограничения порта компании, я использовал команду netsh для перенаправления открытого порта на порт 993 (по умолчанию для SSL imaplib), используя следующую команду в терминале

netsh interface portproxy add v4tov4 listenport=UNBLOCKTHISPORT listenaddress=YOURIP connectport=THISPORTISOPEN connectaddress=YOURIP
Другие вопросы по тегам