【发布时间】:2019-01-27 19:57:12
【问题描述】:
我的代码看起来像这样
import imapclient
archive_folder = "Archive"
aggregate_reports_folder = "{0}/Aggregate".format(archive_folder)
forensic_reports_folder = "{0}/Forensic".format(archive_folder)
server = imapclient.IMAPClient("example.com", use_uid=True)
server.login("user", "foobar")
if not server.folder_exists(archive_folder):
server.create_folder(archive_folder)
if not server.folder_exists(aggregate_reports_folder):
server.create_folder(aggregate_reports_folder)
if not server.folder_exists(forensic_reports_folder):
server.create_folder(forensic_reports_folder)
它在 Office 365/Exchange 上运行良好,但在 dovecot 上运行良好。在 dovecot 上会导致错误:
错误:创建失败:[CANNOT] 邮箱名称无效:名称不能包含“/”字符
我尝试删除文件夹名称的/subfolder 部分,并首先运行select_folder(archive_folder),但这只会创建与存档相同级别的文件夹。然而,Thunderbird 可以毫无问题地创建子文件夹。
如何使用 imapclient 创建 IMAP 子文件夹,并以一种适用于所有 IMAP 服务器的方式?另外,如何将邮件移动到这些子文件夹?
【问题讨论】:
标签: python imap dovecot imapclient