Dans cet article, vous apprendrez à récupérer par programmation des messages électroniques à partir des serveurs de messagerie. En particulier, vous saurez vous connecter au serveur de messagerie en utilisant les protocoles IMAP ou POP3 et lire les emails en Python.

API Python pour lire les e-mails

Afin de lire les e-mails des serveurs de messagerie, nous utiliserons Aspose.Email for Python via .NET. Il s’agit d’une API de messagerie riche en fonctionnalités qui vous permet d’implémenter des clients de messagerie à partir de vos applications Python. Vous pouvez soit télécharger le fichier .whl ou installer l’API à l’aide de la commande pip suivante.

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

Lire les e-mails des serveurs de messagerie en Python

POP3 et IMAP sont couramment utilisés pour récupérer les e-mails des serveurs de messagerie. Les sections suivantes montrent comment lire les e-mails en utilisant les deux protocoles de messagerie séparément.

Lire les e-mails à l’aide de POP3

Voici les étapes pour lire les messages électroniques à l’aide de POP3.

  • Créez un objet de la classe Pop3Client et initialisez-le avec l’hôte, le port, le nom d’utilisateur et le mot de passe.
  • Définissez les options de sécurité à l’aide de la propriété Pop3Client.securityoptions.
  • Obtenez le nombre de messages à l’aide de la méthode Pop3Client.getmessagecount().
  • Accédez à chaque message dans une boucle à l’aide de la méthode Pop3Client.fetchmessage().

L’exemple de code suivant montre comment lire un e-mail en Python à l’aide de 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)

Lire les e-mails à l’aide d’IMAP

Voici les étapes à suivre pour lire les messages électroniques à l’aide d’IMAP.

  • Créez un objet de la classe ImapClient et initialisez-le avec l’hôte, le port, le nom d’utilisateur et le mot de passe.
  • Sélectionnez le dossier à l’aide de la méthode ImapClient.selectfolder(folderName).
  • Parcourez la liste des messages à l’aide de la méthode ImapClient.listmessages().

L’exemple de code suivant montre comment lire des e-mails à l’aide d’IMAP en 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")

Obtenez une licence API gratuite

Vous pouvez utiliser Aspose.Email for Python via .NET en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris à lire les e-mails des serveurs de messagerie à l’aide de Python. En particulier, vous avez vu comment utiliser les clients POP3 et IMAP pour récupérer et lire les messages électroniques. Vous pouvez en savoir plus sur l’API de messagerie Python à l’aide de la documentation. De plus, vous pouvez poster vos questions sur notre forum.

Voir également