使用 Imap_tools 和 Mailparser 在邮箱中搜索电子邮件



搜索了整个网站后的第一篇文章

我正试图在outlook邮箱中搜索电子邮件的电子邮件地址。我正在使用Imap_tools, MailParser和Beautiful Soup。我需要得到任何电子邮件地址目前在电子邮件的正文中使用的另一部分我正在写的脚本。也许我做得太多了,但需要这个工作。

这是我目前所掌握的。

with MailBox('outlook.office365.com').xoauth2('MAILBOX@domain.com', result['access_token'], 'INBOX') as mailbox:
for msg in mailbox.fetch(A(seen= True, subject='SUBJECT', from_= 'EMAIL')):
#to validate it's fetching the correct emails
print(msg.date_str, msg.subject) 
email_message = mailparser.parse_from_file_obj(msg.obj)
soup = BeautifulSoup(email_message.body, "html.parser")
print(soup)
text = soup.get_text()
# Find all email addresses in the body of the email
email = re.findall(r'[w.-]+@[w.-]+', text)
print(email)
email = email[0]

这是我得到的错误

Traceback (most recent call last):
File ".testServPrinc.py", line 55, in <module>
email_message = mailparser.parse_from_file_obj(msg.obj)
File AppDataRoamingPythonPython38s
r.py", line 66, in parse_from_file_obj
return MailParser.from_file_obj(fp)
File AppDataRoamingPythonPython38s
r.py", line 166, in from_file_obj
s = fp.read()
AttributeError: 'Message' object has no attribute 'read'

感谢所有的帮助。

body = msg.text or msg.html 

一个字母中可能有几个邮件表示形式

相关内容

  • 没有找到相关文章

最新更新