使用 Python 和 exchangelib 连接到内部 SMTP 服务器的正确方法是什么
What is the correct way to connect to an internal SMTP server using Python and exchangelib
我正在尝试使用 Python 和 exchangelib 库连接到 Microsoft Exchange 网络服务器。
这是我的代码(包含已编辑的域、用户名、密码和 SMTP 服务器):
from exchangelib import DELEGATE, Configuration, Credentials, Account
credentials = Credentials('MyDomain\me@somewhere.co.uk', 'password')
config = Configuration(server='10.10.10.10', credentials=credentials)
account = Account('me@somewhere.co.uk', credentials=credentials, config=config, autodiscover=False, access_type=DELEGATE)
尝试启动帐户对象引发此错误:
Failed to create cached protocol with key ('https://10.10.10.10/EWS/Exchange.asmx',
Credentials('MyDomain\me@somewhere.co.uk', '********')): HTTPSConnectionPool(host='10.10.10.10', port=443): Max retries exceeded with url: /EWS/Exchange.asmx (Caused by SSLError(SSLError("bad handshake: SysCallError(10054, 'WSAECONNRESET')")))
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\cached_property.py", line 69, in __get__
return obj_dict[name]
KeyError: 'protocol'
导致此错误的原因是什么,我该如何解决?
谢谢。
exchangelib 无法使用 SMTP 协议。它使用 EWS(Exchange Web 服务)。
您可以向您的 Exchange 管理员询问 EWS 端点,或者使用自动发现自动获取它(如果已为您的域设置了自动发现)。
我正在尝试使用 Python 和 exchangelib 库连接到 Microsoft Exchange 网络服务器。 这是我的代码(包含已编辑的域、用户名、密码和 SMTP 服务器):
from exchangelib import DELEGATE, Configuration, Credentials, Account
credentials = Credentials('MyDomain\me@somewhere.co.uk', 'password')
config = Configuration(server='10.10.10.10', credentials=credentials)
account = Account('me@somewhere.co.uk', credentials=credentials, config=config, autodiscover=False, access_type=DELEGATE)
尝试启动帐户对象引发此错误:
Failed to create cached protocol with key ('https://10.10.10.10/EWS/Exchange.asmx',
Credentials('MyDomain\me@somewhere.co.uk', '********')): HTTPSConnectionPool(host='10.10.10.10', port=443): Max retries exceeded with url: /EWS/Exchange.asmx (Caused by SSLError(SSLError("bad handshake: SysCallError(10054, 'WSAECONNRESET')")))
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\cached_property.py", line 69, in __get__
return obj_dict[name]
KeyError: 'protocol'
导致此错误的原因是什么,我该如何解决? 谢谢。
exchangelib 无法使用 SMTP 协议。它使用 EWS(Exchange Web 服务)。
您可以向您的 Exchange 管理员询问 EWS 端点,或者使用自动发现自动获取它(如果已为您的域设置了自动发现)。