Идентификация электронной почты в Python Outlook и чтение ссылок с использованием IMAP - PullRequest
1 голос
/ 05 марта 2019

Я пытаюсь написать код на 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'))
...