无法使用 imap zimbra选择"公用文件夹"和"导入的文件夹"



">公共文件夹">是您与某人共享的文件夹,如果有人在其中添加电子邮件,您也会在此文件夹中收到它。

"导入的文件夹">是从其他电子邮件帐户(例如 Gmail(导入的文件夹。

我试图做的只是使用imap查看zimbra上的一些邮件,但是当文件夹是公共文件夹或导入文件夹时,它不起作用

mail = imaplib.IMAP4(user['serv'], user['port'])
mail.login(user['name'], user['passwd'])
mail.select("INBOX") #which is an imported folder

伊马普利布。IMAP4.error: SELECT 命令 错误: BAD [b'parse error: 零长度内容']

文件夹不是空的,但内容似乎以某种方式被隐藏

mail = imaplib.IMAP4(user['serv'], user['port'])
mail.login(user['name'], user['passwd'])
mail.select("Shared mailbox") #which is a public folder

伊马普利布。IMAP4.error: EXAMINE 命令 错误: BAD [b"解析错误: 错误的字符;预期的是"("但得到"d"]

在"公共文件夹"的情况下,它只发生在我不是创建它的人时,即使有管理员权限(添加、删除电子邮件的权利(

所以我想知道是否有人如何解决这些问题


编辑:

当文件夹的名称不是 unidecode 时,我发现了另一个崩溃

UnicodeEncodeError:"ascii"编解码器无法在位置 1 中编码字符"\xe9":序号不在范围内(128(

而且我不知道这里需要什么编码,所以我尝试了"ascii">

UnicodeEncodeError:"ascii"编解码器无法在位置 1 中编码字符"\xe9":序号不在范围内(128(

我也尝试了"utf-8">

伊马普利布。IMAP4.error: SELECT 命令 错误: BAD [b'parse error: 命令末尾的字符过多']

for i in mail.list()[1]: l = i.decode().split(' "/" ') if l[1][1:len(l[1])-1] != "" and l[1][1:len(l[1])-1] not in banned: typ, data = mail.select('"{0}"'.format(l[1][1:len(l[1])-1]))

这解决了所有问题,不知道为什么我们需要将电子邮件的名称放在简单引号和双引号之间,但它确实有效

最新更新