Email con Python

Possiamo usare Python per accedere al proprio account di posta elettronica e scaricare alcuni messaggi. Il modulo da usare è imaplib.

E' utile verificare i vari comandi, usando l'interprete. Se volete copiare il programma, fate doppio click (cambiate posizione del click e sperimentate fin quando non viene selezionato tutto il testo, tranne i numeri di linea)


import imaplib
import sys
import email
import email.header

SERVER = 'in.unisalento.it' # IMAP server
FOLDER = 'INBOX' # cartella sul server
ACCOUNT = 'ancaruso' # nome account
PASSWORD = '@@@@@@@' # password (mettere quella giusta, attenzione al sorgente).

# Connessione

M = imaplib.IMAP4_SSL(SERVER)
rv, data = M.login(ACCOUNT, PASSWORD)
if rv == 'OK':
    print("connessione aperta")
else:
    print("errore di connessione/autenticazione")
    sys.exit(1)

# Apertura del folder
rv, data = M.select(FOLDER)
if rv != 'OK':
    print("Errore in apertura del folder %s",FOLDER)

rv, data = M.search(None, "ALL")
if rv != 'OK':
    print("No messages found!")
    sys.exit(1)

# Ok, adesso listo e elenco

for num in data[0].split():
    rv, data = M.fetch(num, '(RFC822)')
    if rv != 'OK':
        print("ERROR getting message", num)
        continue
    msg = email.message_from_bytes(data[0][1])
    t = email.header.decode_header(msg['Subject'])
    hdr = email.header.make_header(t)
    subject = str(hdr)
    print("%s",subject)

# finito, chiudiamo la connessione
M.close()

Lascia un commento