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.