python-3.x - 由于 backports.zoneinfo.ZoneInfo 错误,Python ExchangeLib 无法正常工作
问题描述
我正在尝试使用 ExchangeLib 向 Outlook 发送电子邮件。但是,它因以下错误而失败。
File "DeliverEmailResult.py", line 31, in __init__
credentials=Credentials(self._from_user, self._password),
File "C:\Users\..\Email Delivery\emailenv\lib\site-packages\exchangelib\account.py", line 92, in __init__
self.default_timezone = default_timezone or EWSTimeZone.localzone()
File "C:\Users\..Email Delivery\emailenv\lib\site-packages\exchangelib\ewsdatetime.py", line 264, in localzone
return cls.from_pytz(tz)
File "C:\Users\..Email Delivery\emailenv\lib\site-packages\exchangelib\ewsdatetime.py", line 244, in from_pytz
self_cls.ms_id = cls.PYTZ_TO_MS_MAP[tz.zone][0]
AttributeError: 'backports.zoneinfo.ZoneInfo' object has no attribute 'zone'
我试图解决这个问题,但无法得到正确的答案。请帮助某人确定确切的问题。请告知是否有任何其他替代方案可用于此解决方案。欢迎所有建议提前谢谢
解决方案
这已在 exchangelib 3.3 中修复。您需要升级您的 exchangelib 版本。
推荐阅读
- javascript - react表单中的onsubmit函数使控制台清空刷新
- c# - 使用 DllImport 将 C# byte[] 编组为 C++ DLL
- jquery - 使用值查看是否已执行操作
- php - password_verify 始终返回 false
- reactjs - Heroku 上的 Django-React 部署错误(MIME 类型错误)
- angular - webpack-dev-server 在 Webpack 4 中构建和重建速度非常慢
- javascript - 如何根据键和值比较对象数组并删除对象
- angular - 在Angular中插入新行时如何减少按钮文本之间的空间?
- mongodb - 为 mongoose 中的 containerId 数组查找 containerId 的最旧装运集合
- apache-flink - Flink KeyedProcessFunction vs 广播状态