Я очень новичок в программировании, поэтому мне нужна помощь здесь. У меня есть папка с электронной почтой, в которой более 200 тысяч писем. Я пытаюсь удалить их все, потому что они замедляют меня. Я написал скрипт на Python 3.7.2, используя IMAPClient, чтобы попытаться удалить их в массовом порядке, но я продолжаю получать ошибку.
Я попытался удалить все электронные письма в папке и попытался удалить стоимость одного дня. В среднем за один день около 2 тысяч писем. Использование 'ALL' и 'ON DD-MMM-YYYY "
import imapclient
imapObj = imapclient.IMAPClient('imap.server.com', ssl=True)
imapObj.login('email', 'password')
import pprint
pprint.pprint(imapObj.list_folders())
[((b'\\NoInferiors',), b'/', 'INBOX'),
((b'\\HasNoChildren',), b'/', 'Folder I want to delete'),
--all folders--
imapObj.select_folder('Folder I want to delete', readonly=False)
{b'PERMANENTFLAGS': (b'\\Answered', b'\\Flagged', b'\\Draft',
b'\\Deleted', b'\\Seen', b'$Forwarded', b'$NotJunk', b'NotJunk',
b'$MailFlagBit1', b'$MailFlagBit0', b'$MailFlagBit2', b'\\*'),
b'FLAGS': (b'\\Answered', b'\\Flagged', b'\\Draft', b'\\Deleted',
b'\\Seen', b'$Forwarded', b'$NotJunk', b'NotJunk', b'$MailFlagBit1',
b'$MailFlagBit0', b'$MailFlagBit2'), b'EXISTS': 3792507, b'RECENT':
0, b'UNSEEN': [b'3792504'], b'UIDVALIDITY': 1398179813, b'UIDNEXT':
7577201, b'READ-WRITE': True}
UIDs = imapObj.search('ALL')
imapObj.delete_messages(UIDs)
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
imapObj.delete_messages(UIDs)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/imapclient/imapclient.py", line 1171, in delete_messages
return self.add_flags(messages, DELETED, silent=silent)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/imapclient/imapclient.py", line 1081, in add_flags
return self._store(b'+FLAGS', messages, flags, b'FLAGS',
silent=silent)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/imapclient/imapclient.py", line 1567, in _store
uid=True)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/imapclient/imapclient.py", line 1535, in
_command_and_check
typ, data = self._imap.uid(command, *args)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/imaplib
.py", line 879, in uid
typ, dat = self._simple_command(name, command, *args)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/imaplib
.py", line 1196, in _simple_command
return self._command_complete(name, self._command(name, *args))
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/imaplib
.py", line 1027, in _command_complete
raise self.error('%s command error: %s %s' % (name, typ, data))
imaplib.IMAP4.error: UID command error: BAD [b'Command line too large']
Я ожидаю, что письма будут удалены, но команда просто выдаст ошибку выше.