gpt4 book ai didi

python - 解析附件名称的 IMAP 电子邮件 BODYSTRUCTURE

转载 作者:太空狗 更新时间:2023-10-29 21:42:44 24 4
gpt4 key购买 nike

我编写了一个 Python 脚本来通过 IMAP(使用 Python 的 imaplib)访问、管理和过滤我的电子邮件。

为了获取电子邮件的附件列表(无需先下载整封电子邮件),我使用电子邮件的 UID 获取了电子邮件的主体结构,即:

imap4.uid('FETCH', emailUID, '(BODYSTRUCTURE)')

并从那里检索附件名称。

通常,包含附件名称的“部分”如下所示:

("attachment" ("filename" "This is the first attachment.zip"))

但是有几次,我遇到了类似的事情:

("attachment" ("filename" {34}', 'This is the second attachment.docx'))

我在某处读到,IMAP 有时不使用双引号表示字符串,而是使用大括号,字符串长度后跟实际字符串(不带引号)。

例如

{16}This is a string

但上面的字符串似乎并没有严格遵守这一点(右花括号后有一个单引号、一个逗号和一个空格,并且字符串本身用单引号括起来)。

当我下载整封电子邮件时,包含该附件的邮件部分的 header 看起来很正常:

Content-Type: application/docx
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="This is the second attachment.docx"

我如何解释(呃……解析)“异常”的 body 结构,理解额外的单引号、逗号等……

那是“标准”吗?

最佳答案

您看到的是一个破损的文字,可能被切割和浪费损坏了?文字看起来像

{5}
Hello

也就是说,长度,然后是一个 CRLF,然后是那么多 字节(不是字符):

{4}
🐮

关于python - 解析附件名称的 IMAP 电子邮件 BODYSTRUCTURE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31335415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com