我试图编写一个Python3代码,登录Outlook邮件帐户,然后使用IMAP和BeautifulSoup搜索具有某些特定过滤器(发件人、主题、日期)的电子邮件以获取并解析它,然后从其正文中获取特定链接。
我已经能够完成以下步骤: 1- 使用IMAP登录我的电子邮件帐户,然后访问我的收件箱。 2- 获取电子邮件,然后解析它们。 3- 在不同的.txt文件中查找链接。
但是我无法通过IMAP搜索特定的电子邮件。请问是否有人可以帮助我展示在Outlook中搜索特定电子邮件的正确语法?
先感谢您的帮助。
我已经能够完成以下步骤: 1- 使用IMAP登录我的电子邮件帐户,然后访问我的收件箱。 2- 获取电子邮件,然后解析它们。 3- 在不同的.txt文件中查找链接。
但是我无法通过IMAP搜索特定的电子邮件。请问是否有人可以帮助我展示在Outlook中搜索特定电子邮件的正确语法?
先感谢您的帮助。
import imaplib
import email
from email.utils import parseaddr
username = 'hae42@mail.aub.edu'
password = 'Null'
Mymail = imaplib.IMAP4_SSL('outlook.office365.com')#imap-
mail.outlook.com or outlook.office365.com
Mymail.login(username, password)
#Mymail.list() #OUT: list of "folders"
Mymail.select("INBOX") #connect to inbox
def get_body(msg):
if msg.is_multipart():
return get_body(msg.get_payload(0))
else:
return msg.get_payload(None,True)
def search(key, value, Mymail):
result, data = Mymail.search(None, key, '"()"'.format(value))
return data
result, data = Mymail.fetch(latest_email_id, '(RFC822)')
raw_email = email.message_from_bytes(data[0][1])
print(search('FROM', 'email@outlook.example'))