Найти - Пользователи
Полная версия: Очистка корзины в почте
Начало » Python для новичков » Очистка корзины в почте
1
chtozor
Добрый день! У меня такой вопрос. Подключаюсь к почте mail.ru через imap, дальше нужные мне письма удаляю строкой:
 mail.store(latest_email_id, '+FLAGS', '\\Deleted')
Вот только они переносятся в корзину, а не полностью удаляются. Вопрос в том, как удалить их из корзины?
papuas
просто в настройках mail укажите удалять при выходе Ж)
chtozor
papuas
просто в настройках mail укажите удалять при выходе Ж)
А можно немного подробнее, как это сделать?
papuas
Извиняйте, они недавно эту лавочку прикрыли.
Тогда так
собственно, ничего нового.

 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,  'корзина')
chtozor
papuas
Извиняйте, они недавно эту лавочку прикрыли. Тогда так собственно, ничего нового.
да, я так пробовал. Единственное, если вставляю в строку
 m.select(folder)  # select all trash
Вместо folder - ‘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
видимо вы не в том месте строку вставляете
chtozor
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)
Подскажите пожалуйста, что мне тут изменить, чтобы удалялись письма из корзины?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB