python – 获取部分IMAP文本部分

我有一个电子邮件界面客户端,我正在使用IMAP来处理我的请求.我希望能够实时显示基本电子邮件数据,以获取列表视图.

例如,在GMail列表视图中.为此,我需要做一个IMAP请求来获取所有电子邮件的主题,所有电子邮件的日期等.这是迄今为止的工作.

问题是,我还想显示正文的第一个字符.如果我使用BODYSTRUCTURE调用来获取文本/ HTML部分的索引,则需要太长时间(对于具有数千个字符的电子邮件,每封电子邮件可能需要超过一秒钟,而仅使用主题/日期/等调用需要大约0.02秒最多

我尝试使用BODY [INDEX]< 0.XYZ>其中XYZ是我们想要获取的第一个字节的数字,但令我沮丧的是,它需要使用BODY [INDEX]调用.有时甚至更多.

是否有其他方法可以获得第一个文本字符,但速度很快?如果我想在我的界面上列出300封电子邮件,我不能为每封电子邮件花费1秒钟来获取第一个文本字符.

我正在使用带有imaplib的Python,尽管可能不相关.

最佳答案 在
IMAP RFC中定义了一个raw fetch命令.

FETCH 2 (BODY[]<0.size>)

例如,如果要获取前100个字节的邮件,则可以将命令激活为

FETCH 2 (BODY[]<0.100>)
点赞