我有一个使用iMaplib的Python脚本,该脚本连接到Gmail帐户,并根据电子邮件地址中的“+”标签对电子邮件进行分类。例如:发送到myaccount+root.foo.bar@gmail.com发送到root foo bar。

我的逻辑如下:提取标签 - >尝试创建文件夹 - >复制消息到文件夹。

从端口上讲,电子邮件将带有相同的标签,但壳体不同。例如

#Attempting to creating folder 'root/FOO/BAR'
('NO', ['[ALREADYEXISTS] Folder name conflicts with existing folder name. (Failure)'])
#Copying message to folder 'root/FOO/BAR'
('NO', ['[TRYCREATE] No folder root/FOO/BAR (Failure)'])

因此,它无法创建文件夹,因为已经存在具有相同名称的文件夹(仅使用不同的情况),但是由于不存在显式文件夹,因此副本失败了。

是否有一些聪明的方法可以找出现有文件夹的正确情况,以便我可以无问题地移动消息?

注意:这并不像强迫所有标签低写那样容易。用户使用电子邮件客户端连接到该帐户,然后手动手动制作文件夹,并在当时对它们有意义。

有帮助吗?

解决方案

因此,Google抱怨该文件夹已经存在,但是当您尝试将某些内容移入其中时,然后会出现错误吗?了不起。

IMAP具有一个“列表”命令来列出可用邮箱(文件夹):

http://tools.ietf.org/html/rfc3501#section-6.3.8

如何访问取决于您的IMAP客户端库。 这是几个例子.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top