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