我有看起来像这样的代码
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 可以毫无问题地创建子文件夹。
如何以适用于所有 IMAP 服务器的方式使用 imapclient 创建 IMAP 子文件夹?另外,如何将邮件移动到这些子文件夹?