Python exchangelib引发ValueERROR datetime_received

问题描述

我正在尝试检查过去24小时内从指定的sender.email_address收到了多少封电子邮件,但是此代码中出现错误

回溯(最近通话最近): 文件“ c:/Users/fmi/Desktop/Python/emailtest.py”,第13行 用于testfolder.all()中的项目
文件“ C:\ Users \ fmi \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ site-packages \ exchangelib \ queryset.py”,第507行,order_by 引发ValueError(“ ordersby()中的%s”%e.args [0]) ValueError:文件夹[Messages(Root(,'[self]','root',8,0,62,None,',' yEHuM6wBAEYSp + OGVQhHl3U8WgJ / ZQAAAwEBAAAAAA ==”, 'AQAAABYAAABGEqfjhlUIR5d1PFoCf2UAAAAcRKyn'), '测试',26821,26654,0, 'IPF.Note', 'AQMkADI2YmY4MjAwAC1mNTBkLTQyMzEtYTM0Yi04NTdmZDRhMDE0MGQALgAAA + xnYBMGPANEmpY / yEHuM6wBAEYSp + OGVQhHl3U8WgJ / ZQAAAw0rAAAA', 'AQAAABYAAABGEqfjhlUIR5d1PFoCf2UAAAAcRKxr')]在ORDER_BY( )

在尝试打印时。如果电子邮件计数为0,我也希望它给我警报。

from exchangelib import Credentials,Account,UTC_NOW
from collections import defaultdict
from datetime import timedelta

credentials = Credentials('fmi@.dk','something')
a = Account('fmi@.dk',credentials=credentials,autodiscover=True)
counts = defaultdict(int)
testfolder = a.inbox.parent / 'Test'
since = UTC_NOW() - timedelta(hours=24)

for item in testfolder.all()\
        .only('sender','subject')\
        .filter(datetime_received__gt=since)\
        .order_by('-datetime_received'):
    if item.sender.email_address == 'info@something.dk':
        counts[item.sender.email_address,item.subject] += 1 
print(counts)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...