使用imap-tools获取邮件原始消息数据适配email.message_from_bytes()
使用imap-tools获取邮件原始消息数据的方法
要获取能直接传入email.message_from_bytes()的原始邮件数据,你可以直接使用imap-tools邮件对象的raw属性,这个属性存储了IMAP服务器返回的原始字节格式邮件内容。
修改你的代码如下:
from imap_tools import MailBox, AND import email with MailBox('imap.gmail.com').login('asdf@gmail.com', '123456', 'INBOX') as mailbox: # 获取收件箱中未读邮件 for msg in mailbox.fetch(AND(seen=False), mark_seen=False): # 获取原始邮件字节数据 raw_msg_data = msg.raw # 加载为email.message对象,用于后续转发等操作 email_msg = email.message_from_bytes(raw_msg_data) # 这里可以添加邮件转发逻辑
说明
msg.raw是imap-tools从IMAP服务器直接获取的原始邮件字节流,完全满足email.message_from_bytes()的参数要求。- 拿到
email_msg对象后,你可以使用email库的相关方法完成邮件转发、解析内容等操作。
内容的提问来源于stack exchange,提问作者Bigbob556677
相关产品推荐
相关产品推荐

