我只想从 Gmail(通常是 imap 服务器)获取电子邮件文本正文,而无需下载整个邮件。
如果我获取 RC822,我可以得到一切都很好:
mail_box.fetch(message_ids, '(RFC822)')
但问题是,如果我有太多的邮件和附件,这需要很多时间。
我可以得到我需要的标题和正文:
mail_box.fetch(message_ids, '(RFC822.HEADER BODY.PEEK[1])')
但是这种方式我无法解析文本正文,它有一个奇怪的格式:
'\r\n------=_NextPart_001_0011_01CB63DF.D39BA1C0\r\nContent-Type: text/plain;\r\n\tcharset="iso-8859-1"\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\nRafael, ...other content like html tags and css...------=_NextPart_001_0011_01CB63DF.D39BA1C0--\r\n'
尝试使用 email.message_from_string 和 quopri 模块解析它,但到目前为止没有运气。
可能吗?要获取格式如 RFC822 但不下载附件的消息?