Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用exchangelib获取非收件箱文件夹的邮件_Python_Email_Exchangelib - Fatal编程技术网

Python 如何使用exchangelib获取非收件箱文件夹的邮件

Python 如何使用exchangelib获取非收件箱文件夹的邮件,python,email,exchangelib,Python,Email,Exchangelib,我想获取非收件箱文件夹的邮件-我如何才能做到这一点 我可以像这样获得收件箱文件夹的电子邮件: from exchangelib import DELEGATE, Account, Credentials, EWSDateTime creds = Credentials( username='xxx.test.com\test', password='123456') account = Account( primary_smtp_address='test@test.c

我想获取非收件箱文件夹的邮件-我如何才能做到这一点

我可以像这样获得收件箱文件夹的电子邮件:

from exchangelib import DELEGATE, Account, Credentials, EWSDateTime

creds = Credentials(
    username='xxx.test.com\test',
    password='123456')
account = Account(
    primary_smtp_address='test@test.com',
    credentials=creds,
    autodiscover=True,
    access_type=DELEGATE)

# Print first 100 inbox messages in reverse order
for item in account.inbox.all().order_by('-datetime_received')[:100]:
    # print(item.subject, item.body, item.attachments)
    print(item.subject)
给予:

hahaha
heiheihei
pupupu
bibibib
........
当我得到我的文件夹时:

from exchangelib.folders import Messages

for f in account.folders[Messages]:
    print f

Messages (aaa)
Messages (bbb)
Messages (ccc)

如何使用Python从
ccc
文件夹中获取电子邮件?

查看最新版本的
exchangelib
中的文件夹导航选项:

可以按如下方式打印整个文件夹结构:

print(account.root.tree())
然后使用与
pathlib
相同的语法导航到特定文件夹:

some_other_folder = account.inbox / 'some_inbox_subfolder'
# Or:
some_other_folder = account.root / 'some' / 'other' / 'path'
for item in some_other_folder.all().order_by('-datetime_received')[:100]:
    print(item.subject)

您只能对收件箱子文件夹执行以下操作:

for subfolder in account.inbox.children:
    for emailz in subfolder.all().only('subject','attachments','datetime_sent').order_by('-datetime_received'):
        #do your thing
或所有根目录子文件夹:

for subfolder in account.root.children:
    for emailz in subfolder.all().only('subject','attachments','datetime_sent').order_by('-datetime_received'):
        #do your thing