In questo articolo imparerai come recuperare i messaggi di posta elettronica dai server di posta in modo programmatico. In particolare, imparerai come connetterti al server di posta utilizzando i protocolli IMAP o POP3 e leggere le email in Python.

API Python per leggere le email

Per leggere le email dai server di posta, useremo Aspose.Email for Python via .NET. È un’API di posta elettronica ricca di funzionalità che ti consente di implementare client di posta elettronica dall’interno delle tue applicazioni Python. Puoi scaricare file .whl o installare l’API utilizzando il comando pip seguente.

> pip install Aspose.Email-for-Python-via-NET

Leggi le email dai server di posta in Python

POP3 e IMAP sono comunemente usati per recuperare le email dai server di posta. Le sezioni seguenti mostrano come leggere i messaggi di posta elettronica utilizzando entrambi i protocolli di posta elettronica separatamente.

Leggi i messaggi di posta elettronica utilizzando POP3

Di seguito sono riportati i passaggi per leggere i messaggi di posta elettronica utilizzando POP3.

  • Crea un oggetto della classe Pop3Client e inizializzalo con host, porta, nome utente e password.
  • Imposta le opzioni di sicurezza utilizzando la proprietà Pop3Client.securityoptions.
  • Ottieni il conteggio dei messaggi usando il metodo Pop3Client.getmessagecount().
  • Accedi a ciascun messaggio in un ciclo utilizzando il metodo Pop3Client.fetchmessage().

L’esempio di codice seguente mostra come leggere un messaggio di posta elettronica in Python usando POP3.

# create POP3 client
client = Pop3Client("pop.gmail.com", 995, "username", "password")

# set security options
client.security_options = SecurityOptions.AUTO

# get message count
messageCount = client.get_message_count()
print("Total messages: " + str(messageCount))

# create an instance of the MailMessage class to read message    
for i in range(0,messageCount):
    message = client.fetch_message(i+1)
    print("From:" + str(message.from_address))
    print("Subject:" + message.subject)
    print(message.html_body)

Leggi i messaggi e-mail utilizzando IMAP

Di seguito sono riportati i passaggi per leggere i messaggi di posta elettronica utilizzando IMAP.

  • Crea un oggetto della classe ImapClient e inizializzalo con host, porta, nome utente e password.
  • Selezionare la cartella utilizzando il metodo ImapClient.selectfolder(folderName).
  • Scorri l’elenco dei messaggi usando il metodo ImapClient.listmessages().

L’esempio di codice seguente mostra come leggere i messaggi di posta elettronica usando IMAP in Python.

# connect to mail server using IMAP
client = ImapClient("imap.gmail.com", 993, "username", "password")

# select folder
client.select_folder("Inbox")

# loop through email messages and save them as .eml files
for msg in client.list_messages():
    print("Subject: " + msg.subject)
    print("HtmlBody: " + msg.html_body)
    print("TextBody: " + msg.body)
    client.save_message(msg.unique_id, msg.unique_id + "_out.eml")

Ottieni una licenza API gratuita

Puoi utilizzare Aspose.Email per Python tramite .NET richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo, hai imparato a leggere le email dai server di posta usando Python. In particolare, hai visto come utilizzare i client POP3 e IMAP per recuperare e leggere i messaggi di posta elettronica. Puoi esplorare di più sull’API di posta elettronica Python utilizzando la documentazione. Inoltre, puoi pubblicare le tue domande sul nostro forum.

Guarda anche