为什么不能将我的电子邮件下载到本地磁盘来解析它?
why can't download my email into local disk to parse it?
我已经登录了我的gmail账户并从收件箱邮箱下载了第二封邮件到/home/mymail
。
import imaplib
import email
user="yyyy"
password="xxxx"
con=imaplib.IMAP4_SSL('imap.gmail.com')
con.login(user,password)
con.select("INBOX")[1][0]
result,data=con.fetch(b'2', '(RFC822)')
with open("/home/mymail","w") as f:
f.write(data[0][1])
现在我想从本地文件中解析它。
import email
s=email.message_from_file("/home/mymail")
AttributeError: 'str' 对象没有属性 'read'。
但是email.message_from_string(data[0][1])["Subject"]
没问题,下载到本地盘的文件中无法解析
该函数需要一个 file
对象,而不是仅包含文件名的 str
。
message_from_file(fp, *args, **kws)
Read a file and parse its contents into a Message object model.
尝试制作一个文件句柄,就像您为写入文件所做的那样,然后它应该可以工作。
import email
with open("/home/mymail", "r") as f:
s = email.message_from_file(f)
我已经登录了我的gmail账户并从收件箱邮箱下载了第二封邮件到/home/mymail
。
import imaplib
import email
user="yyyy"
password="xxxx"
con=imaplib.IMAP4_SSL('imap.gmail.com')
con.login(user,password)
con.select("INBOX")[1][0]
result,data=con.fetch(b'2', '(RFC822)')
with open("/home/mymail","w") as f:
f.write(data[0][1])
现在我想从本地文件中解析它。
import email
s=email.message_from_file("/home/mymail")
AttributeError: 'str' 对象没有属性 'read'。
但是email.message_from_string(data[0][1])["Subject"]
没问题,下载到本地盘的文件中无法解析
该函数需要一个 file
对象,而不是仅包含文件名的 str
。
message_from_file(fp, *args, **kws) Read a file and parse its contents into a Message object model.
尝试制作一个文件句柄,就像您为写入文件所做的那样,然后它应该可以工作。
import email
with open("/home/mymail", "r") as f:
s = email.message_from_file(f)