我想从IMAP4服务器获取整个消息.在python docs中,如果发现这段代码有效:
>>> t, data = M.fetch('1', '(RFC822)')
>>> body = data[0][1]
Run Code Online (Sandbox Code Playgroud)
我想知道我是否总能相信数据[0] [1]返回消息正文.当我运行'RFC822.SIZE'时,我只有一个字符串而不是一个元组.
我已经浏览了rfc1730,但我无法找出'RFC822'的正确响应结构.从imaplib文档中判断获取结果结构也很困难.
这是我在获取时获得的内容RFC822:
('OK', [('1 (RFC822 {858569}', 'body of the message', ')')])
Run Code Online (Sandbox Code Playgroud)
但当RFC822.SIZE我拿到我的时候:
('OK', ['1 (RFC822.SIZE 847403)'])
Run Code Online (Sandbox Code Playgroud)
我该如何正确处理数据[0]列表?我可以相信,当它是一个元组列表时,元组恰好有3个部分而第二部分是有效负载吗?
也许你知道imap4的更好的库?
我已经通过解决方案从Gmail邮箱中选定的已接收电子邮件中提取有用信息.
在这个例子的目的是获取从提供每月石油价格的时事通讯发送的所有邮件.您可以在EIA网站上自由订阅此类时事通讯.所有这些时事通讯都会在我的Gmail邮箱中的相同文件夹中找到,并以"$"开头.
电子邮件的内容就是这样

我的目标是编写一个脚本来获取最后10封这样的电子邮件(过去10个月),并根据时间绘制不同美国地区的石油价格.