You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Exchangelib创建收件箱子文件夹的子文件夹是否可行?

在Exchangelib中创建收件箱的多级子文件夹

当然可以实现!Exchangelib完全支持创建收件箱的多层嵌套子文件夹,你的现有代码已经走对了方向,只需要调整父文件夹的指向就能搞定更深层级的文件夹。

具体实现方法

核心思路就是:先创建(或找到)上一级的子文件夹,然后把它作为新文件夹的parent参数传入即可。

这里给你两种场景的示例代码:

1. 直接连续创建多级文件夹

如果是一次性创建一级和二级子文件夹,可以这么写:

from exchangelib import Credentials, Account, Folder

credentials = Credentials('test.example@mail.com', 'password')
account = Account('test.example@mail.com', credentials=credentials, autodiscover=True)

# 创建收件箱的一级子文件夹
first_subfolder = Folder(parent=account.inbox, name="一级子文件夹")
first_subfolder.save()

# 以一级子文件夹为父,创建二级子文件夹
second_subfolder = Folder(parent=first_subfolder, name="二级子文件夹")
second_subfolder.save()

# 要是需要移动邮件到二级文件夹,直接用你的现有逻辑就行
# item.move(second_subfolder)

2. 基于已存在的子文件夹创建下一级

如果一级子文件夹已经存在,你可以先通过快捷方式找到它,再创建二级文件夹:

# 假设一级子文件夹已经存在,用"/"运算符快速定位
existing_first_subfolder = account.inbox / "一级子文件夹"

# 创建二级子文件夹
second_subfolder = Folder(parent=existing_first_subfolder, name="二级子文件夹")
second_subfolder.save()

一些小提醒

  • 确保你的账号拥有在收件箱下创建子文件夹的权限,不然会抛出权限相关的错误。
  • 同一父文件夹下的子文件夹名称不能重复,否则save()时会失败。
  • Exchangelib的/运算符是个很方便的功能,能帮你快速定位嵌套的文件夹,比手动遍历查找高效很多。

内容的提问来源于stack exchange,提问作者O. Schultz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 03:58:50