“公用文件夹” 是您与某人共享的文件夹,如果有人在其中添加电子邮件,您也将在此文件夹中接收该电子邮件。
“导入的文件夹” 是从另一个电子邮件帐户(例如Gmail)导入的文件夹。
我想做的只是使用 imap 在 zimbra 上查看一些邮件,但是当文件夹是公用文件夹或导入文件夹时,它不起作用< / p>
mail = imaplib.IMAP4(user['serv'], user['port'])
mail.login(user['name'], user['passwd'])
mail.select("INBOX") #which is an imported folder
imaplib.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
imaplib.IMAP4.error:EXAMINE命令错误:BAD [b”解析错误:字符错误;应为'('但有'd'“]
对于“公用文件夹”,它只有在我不是创建该文件夹的人时才会发生,即使具有管理员权限(添加,删除电子邮件的权限)
所以我想知道是否有人可以解决这些问题
编辑:
当文件夹的名称不是unidecode时,我发现了另一个崩溃
UnicodeEncodeError:'ascii'编解码器无法在位置1编码字符'\ xe9':序数不在范围内(128)
我不知道这里需要什么编码,所以我尝试了'ascii'
UnicodeEncodeError:'ascii'编解码器无法在位置1编码字符'\ xe9':序数不在范围内(128)
我也尝试过'utf-8'
imaplib.IMAP4.error:SELECT命令错误:BAD [b'parse错误:命令末尾多余字符']
答案 0 :(得分:0)
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]))
这解决了所有问题,不知道为什么我们需要将电子邮件的名称放在单引号和双引号之间,但是确实可以工作