Я пытаюсь написать код на python3, который регистрирует учетную запись электронной почты Outlook, а затем выполняет поиск сообщений электронной почты с некоторыми конкретными фильтрами (FROM, SUBJECT, DATE), чтобы извлечь его, затем проанализировать и затем извлечь конкретную ссылку из его тела., используя IMAP и BeautifulSoup.
Я смог сделать: 1- войдите в мою учетную запись электронной почты, а затем в мой INBOX, используя 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'))