Форум сайта python.su
Добрый день! У меня такой вопрос. Подключаюсь к почте mail.ru через imap, дальше нужные мне письма удаляю строкой:
mail.store(latest_email_id, '+FLAGS', '\\Deleted')
Офлайн
просто в настройках mail укажите удалять при выходе Ж)
Офлайн
papuasА можно немного подробнее, как это сделать?
просто в настройках mail укажите удалять при выходе Ж)
Офлайн
Извиняйте, они недавно эту лавочку прикрыли.
Тогда так
собственно, ничего нового.
def empty_folder(m, folder, do_expunge=True): print("- Empty '{0}' & Expunge all mail...".format(folder)) m.select(folder) # select all trash m.store("1:*", '+FLAGS', '\\Deleted') # Flag all Trash as Deleted if do_expunge: m.expunge() # not need if auto-expunge enabled else: print("Expunge was skipped.") return empty_folder(mail, 'корзина')
Отредактировано papuas (Март 14, 2018 00:35:55)
Офлайн
papuasда, я так пробовал. Единственное, если вставляю в строку
Извиняйте, они недавно эту лавочку прикрыли. Тогда так собственно, ничего нового.
m.select(folder) # select all trash
Traceback (most recent call last): File "C:/Users/admin/PycharmProjects/vrazrez/очиста корзины.py", line 25, in <module> mail.store("1:*", '+FLAGS', '\\Deleted') # Flag all Trash as Deleted File "C:\Users\admin\AppData\Local\Programs\Python\Python36-32\lib\imaplib.py", line 835, in store typ, dat = self._simple_command('STORE', message_set, command, flags) File "C:\Users\admin\AppData\Local\Programs\Python\Python36-32\lib\imaplib.py", line 1191, in _simple_command return self._command_complete(name, self._command(name, *args)) File "C:\Users\admin\AppData\Local\Programs\Python\Python36-32\lib\imaplib.py", line 939, in _command ', '.join(Commands[name]))) imaplib.error: command STORE illegal in state AUTH, only allowed in states SELECTED
Офлайн
видимо вы не в том месте строку вставляете
Офлайн
papuasНу вот мой код для ‘inbox’, который помечает письма в папке инбокс как удаленные и перемещает их в корзину.
видимо вы не в том месте строку вставляете
# -*- coding: utf-8 -*- import imaplib import time f = open(r'C:\Users\admin\Desktop\удаление писем\myfile.txt') line = f.readlines() for i in range(30): mail = imaplib.IMAP4_SSL('imap.mail.ru') mail_info = line[i].split(':') mail_login = mail_info[0] mail_pass = mail_info[1] print(mail_login) print(mail_pass) mail.login(mail_login, mail_pass) mail.list() # Выводит список папок в почтовом ящике. mail.select("inbox") # Подключаемся к папке "входящие". result, data = mail.search(None, "ALL") ids= data[0] # Получаем сроку номеров писем id_list = ids.split() # Разделяем ID писем latest_email_id = id_list[-1] # Берем последний ID latest_email_id2 = id_list[-2] # Берем последний ID-1 latest_email_id3 = id_list[-3] # Берем последний ID-2 latest_email_id4 = id_list[-4] # Берем последний ID-3 latest_email_id5 = id_list[-5] # Берем последний ID-4 latest_email_id6 = id_list[-6] # Берем последний ID-5 mail.store(latest_email_id, '+FLAGS', '\\Deleted') mail.store(latest_email_id2, '+FLAGS', '\\Deleted') mail.store(latest_email_id3, '+FLAGS', '\\Deleted') mail.store(latest_email_id4, '+FLAGS', '\\Deleted') mail.store(latest_email_id5, '+FLAGS', '\\Deleted') mail.store(latest_email_id6, '+FLAGS', '\\Deleted') mail.expunge() mail.logout() print('задержка 10 сек') time.sleep(10)
Офлайн