""" POP email inbox scanning and deletion utility. Scan pop email box, fetching just headers, allowing deletions without downloading the complete message. """ import poplib, getpass, sys mailserver = 'your pop email server name here' # Edit me: your pop.server.net mailuser = 'your pop email user name here' # Edit me: your userid mailpasswd = getpass.getpass(f'Password for {mailserver}? ') print('Connecting...') server = poplib.POP3(mailserver) server.user(mailuser) server.pass_(mailpasswd) try: print(server.getwelcome()) msgCount, mboxSize = server.stat() print('There are', msgCount, 'mail messages, size ', mboxSize) msginfo = server.list() print(msginfo) for i in range(msgCount): msgnum = i+1 msgsize = msginfo[1][i].split()[1] resp, hdrlines, octets = server.top(msgnum, 0) # Get hdrs only print('-'*80) print('[%d: octets=%d, size=%s]' % (msgnum, octets, msgsize)) for line in hdrlines: print(line) if input('Print?') in ['y', 'Y']: for line in server.retr(msgnum)[1]: print(line) # Get whole msg if input('Delete?') in ['y', 'Y']: print('deleting') server.dele(msgnum) # Delete on srvr else: print('skipping') finally: server.quit() # Make sure we unlock mbox input('Bye.') # Keep window up on Windows