Python не может подключиться к почтовому серверу ExchangePython

Программы на Python
Ответить
Anonymous
 Python не может подключиться к почтовому серверу Exchange

Сообщение Anonymous »

Добрый день.
У меня возникла проблема: я пишу сценарий Python для подключения к своему рабочему почтовому ящику в Microsoft Outlook Web (OWA). Версия ОС почтового сервера — «Microsoft Windows NT 6.0.6003 Service Pack 2».
У меня нет прав администратора для доступа к этому почтовому ящику. У меня есть только имя пользователя, пароль и адрес почтового сервера.
Я могу свободно получить доступ к этому почтовому ящику с любого телефона или веб-браузера. Но когда я пытаюсь подключиться к этому почтовому ящику с помощью скрипта Python с помощью ExchangeLib я получаю сообщение об ошибке «Ошибка подключения».
Я пробовал использовать библиотеку «exchangelib».
Ниже приведен фрагмент моего кода.
import exchangelib
from exchangelib import DELEGATE, Account, Credentials, Message, Mailbox, HTMLBody, Configuration
creds = Credentials (username = 'usernam@workdomain.**', password = 'pass')
config = Configuration (credentials = creds, server = 'https://owa.workdomain.**', service_endpoint = None, auth_type = 'basic', version = None, retry_policy = None, max_connections = None)
account = Account(primary_smtp_address = 'usernam@workdomain.**',fullname = 'usernam', access_type = DELEGATE, autodiscover = False, credentials = creds, config = config, locale = None, default_timezone = None)

И я получаю эту ошибку:
raise TransportError(f"No valid version headers found in response ({e!r})")
exchangelib.errors.TransportError: No valid version headers found in response #(ErrorTimeoutExpired('Reraised from ConnectionError(HTTPSConnectionPool(host='https', port=443): Max retries exceeded #with url: /owa.*******.**/EWS/Exchange.asmx (Caused by #NameResolutionError(": Failed to resolve 'https' ([Errno 11001] getaddrinfo failed)

Я вижу, что в версии заголовка запроса есть ошибка, но не понимаю, как ее #исправить.
Если я используйте аргумент «autodiscover=True», я получаю эту ошибку:
Traceback (most recent call last):
File "C:\Python 3.9.13\lib\site-packages\exchangelib\account.py", line 179, in init self.ad_response, self.protocol = Autodiscovery( File "C:\Python 3.9.13\lib\site-packages\exchangelib\autodiscover\discovery.py", line 124, in discover ad = self._step_1(hostname=domain) File "C:\Python 3.9.13\lib\site-packages\exchangelib\autodiscover\discovery.py", line 336, in _step_1 return self._step_2(hostname=hostname) File "C:\Python 3.9.13\lib\site-packages\exchangelib\autodiscover\discovery.py", line 352, in _step_2 return self._step_3(hostname=hostname) File "C:\Python 3.9.13\lib\site-packages\exchangelib\autodiscover\discovery.py", line 388, in _step_3 return self._step_4(hostname=hostname) File "C:\Python 3.9.13\lib\site-packages\exchangelib\autodiscover\discovery.py", line 415, in _step_4 return self._step_6() File "C:\Python 3.9.13\lib\site-packages\exchangelib\autodiscover\discovery.py", line 467, in _step_6 raise AutoDiscoverFailed( exchangelib.errors.AutoDiscoverFailed: All steps in the autodiscover protocol failed for email myusername@workdomain.xx. If you think this is an error, consider doing an official test at https://testconnectivity.microsoft.com


Подробнее здесь: https://stackoverflow.com/questions/790 ... ail-server
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»