Eu iria para um script Python. O script a seguir solicita o IMAP-Server, um nome de usuário e senha e uma string de assunto. Em seguida, ele lista todos os e-mails em que o assunto contém a string de assunto especificada.
Comente na linha imapserver.store (num, '+ FLAGS', '\ Deleted') quando estiver satisfeito com o comportamento. Os e-mails mostrados serão então sinalizados para exclusão.
#!/usr/bin/python3
import getpass
def del_imap(server, port, login, password, search):
import imaplib, email
# NOTE: According to RFC 1730 the SEARCH commands searches for 'messages that
# CONTAIN the specified string. When multiple keys are specified, the result
# is the intersection (AND function) of all the messages that match those
# keys.
# _search_command = '(FROM ' + search + ')'
# _search_command = '(SUBJECT "testmail" FROM ' + search + ')'
_search_command = '(SUBJECT ' + search + ')'
imapserver = imaplib.IMAP4_SSL(server, port)
imapserver.login(login, password)
imapserver.select()
typ, data = imapserver.search(None, _search_command)
for num in data[0].split():
typ, data = imapserver.fetch(num, '(RFC822.HEADER)')
print (data[0][1].decode())
# Uncomment the following line if the listed files should also be
# flagged for deletion
# imapserver.store(num, '+FLAGS', '\Deleted')
imapserver.close()
imapserver.logout()
del_imap(input("IMAP Server: "), 993, input("Username: "), getpass.getpass(), input("Search: "))
Eu também criei um Github-Gist onde melhorias adicionais serão feitas: link