Загрузка данных


import imaplib
import subprocess
import time

EMAIL = "your_mail@outlook.com"
PASSWORD = "your_password"

IMAP_SERVER = "outlook.office365.com"

# От кого должно прийти письмо
TRIGGER_SENDER = "sender@example.com"

# Что запускать
PROGRAM = r"C:\Scripts\start.bat"

while True:
    try:
        mail = imaplib.IMAP4_SSL(IMAP_SERVER)
        mail.login(EMAIL, PASSWORD)
        mail.select("INBOX")

        status, messages = mail.search(
            None,
            f'(UNSEEN FROM "{TRIGGER_SENDER}")'
        )

        if messages[0]:
            print("Получено письмо от нужного отправителя.")

            subprocess.Popen(PROGRAM)

            # Помечаем письма как прочитанные,
            # чтобы программа не запускалась повторно
            for msg_id in messages[0].split():
                mail.store(msg_id, "+FLAGS", "\\Seen")

        mail.logout()

    except Exception as e:
        print("Ошибка:", e)

    time.sleep(15)