Никитенко Максим (Sets88)

Личная страница

Python - удалить мусор из почтового ящика

Совсем недавно, один мой товарищ, собираясь поехать на выставку запросил через электронную форму приглашение, которое он тут же получил, но не просто получил, а в 20 000 экземплярах, только не сразу а в течении нескольких часов, ситуация выглядела примерно так:

Удаляет он 2000 писем, пока удалял, принимает почту снова, опять 2000 писем пришло, в общем удалял он так пару часов, уже написал в службу поддержки этого замечательного сервиса, но письма продолжали идти еще несколько часов.

Плюс ко всему, в почте есть письма, которые необходимо сохранить(хотя я узнал о них после запуска программы)

В общем задача в итоге была таковой:
- Удалить все письма с адресом отправителя, условно spamer@mail.ru.

Исходный код
import imaplib

host = "imap.rambler.ru"
port = "993"
login = "login"
password = "password"

mail = imaplib.IMAP4_SSL(host, port)
mail.login(login, password)
mail.select()
data = mail.search(None, '(FROM "spamer@mail.ru")')[1][0]
for num in data.split() :
    mail.store(num, '+FLAGS', '\\Deleted')
mail.expunge()
mail.close()
mail.logout()
Яндекс.Метрика