首页 > 解决方案 > 由于 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'

我试图解决这个问题,但无法得到正确的答案。请帮助某人确定确切的问题。请告知是否有任何其他替代方案可用于此解决方案。欢迎所有建议提前谢谢

标签: python-3.xexchangelib

解决方案


这已在 exchangelib 3.3 中修复。您需要升级您的 exchangelib 版本。


推荐阅读