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)

[sourcecode language="python" wraplines="false" collapse="false"]

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()
[/sourcecode]

Lascia un commento