ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] неправильный номер версии для imaplib.IMAP4_SSL - PullRequest
0 голосов
/ 08 февраля 2019

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

Однако я борюсь с аутентификацией, которая, кажется, исходит от неправильнойВерсия SSL.Когда я пытаюсь сделать следующее:

import imaplib, ssl
context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
mail = imaplib.IMAP4_SSL(host, port=port, ssl_context=context)
mail.login(user, pw)
mail.list()

я получаю сообщение об ошибке:

ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] неверный номер версии

Я спросил моего администратора, сказал ли он, что этот конкретный адрес электронной почты работает на:

  • Server Exchange 2013
  • Для TLS - 1,0, 1,1,1.2 включено
  • Для SSL включено 3.0

Поэтому я попытался изменить

context = ssl.SSLContext(ssl.PROTOCOL_SSLv3) # returned AttributeError
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_1)
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)

, но все равно вернулте же ошибки.

...