Det här lilla programmet i Python kom sig av att jag har ett par ”slask-mailadresser” som används för att registrera sig på sajter som kan skicka en massa spam eller ”oönskad epost” som det heter på svenska.

Det programmet gör är att koppla upp sig mot mailservern och sen ta bort alla meddelanden i inkorgen. På detta vis slipper man sitta och markera t.ex. 50 mail i taget och radera dem. Det blir snabbt jobbigt om man har några tusen mail att radera.

#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# delete_mail.py - 2018-03-03
#
# Den här funktionen kopplar upp sig mot ett IMAP-mailkonto
# och raderar alla mail som finns på det. Bra om man har ett
# konto som fyllts med spam.
#
# Fungerar under både Python 2.7 och Python 3
#
 
import imaplib
 
login ="mailadress"
password="lösenord"
 
# Ange data för servern och logga in
box = imaplib.IMAP4_SSL('imap.one.com', 993)
box.login(login,password)
 
# tmp är en slaskvariabel, när man väljer mapp så kommer num1 att
# innehålla ett listobjekt som i sin tur innehåller antalet mail
tmp, num1 = box.select('Inbox')
typ, data = box.search(None, 'ALL')
 
# omvandla num1 från listobjekt till integer
num1=int(num1[0])    
 
# Gå genom varenda mail och sätt delete-flaggan
for i in data[0].split():
    box.store(i, '+FLAGS', '\\Deleted')
    i=int(i)
    print("Mail kvar: " + str(num1-i) + "  \r")
 
# Stäng och städa upp
box.expunge()
box.close()
box.logout()