Member 13285748 Ответов: 0

Как я могу сделать так, чтобы моя электронная почта показывалась только один раз на каждое письмо?


Я делаю скрипт на Python, который проверяет электронную почту с момента входа в систему. Вот мой код до сих пор:

#!/usr/bin/python
import imaplib, getpass

mail = imaplib.IMAP4_SSL('imap.gmail.com')
u = raw_input('Your Gmail Address: ')
p = getpass.getpass()
mail.login(u, p)
mail.select("inbox")

while 1:
        r, data = mail.search(None, "ALL")
        ids = data[0]
        id_list = ids.split()
        latest_email_id = id_list[-1]
        r, data = mail.fetch(latest_email_id, "(RFC822)")
        raw_email = data[0][1]
        print raw_email


Проблема в том, что он продолжает показывать одно и то же письмо снова и снова (пока не будет получено новое) из-за цикла while.

Как я могу это сделать:

1. Показываем только один раз получил письмо, пока новый получил
2. Покажите новый только один раз
3. Вечно

Что я уже пробовал:

Я пробовал использовать переменную с именем raw_email_c. Это работало так:
raw_email = данные[0][1]
если raw_email_c == raw_email:
продолжить
raw_email_c = raw_email

0 Ответов