Python - IMAP

IMAP est un protocole de récupération des e-mails qui ne télécharge pas les e-mails. Il les lit simplement et les affiche. Ceci est très utile dans des conditions de faible bande passante. Bibliothèque côté client de Python appeléeimaplib est utilisé pour accéder aux e-mails via le protocole imap.

IMAP signifie Internet Mail Access Protocol. Il a été proposé pour la première fois en 1986.

Key Points:

  • IMAP permet au programme client de manipuler le message électronique sur le serveur sans les télécharger sur l'ordinateur local.

  • L'e-mail est conservé et conservé par le serveur distant.

  • Il nous permet de prendre toutes les mesures telles que le téléchargement, la suppression du courrier sans lire le courrier.Il nous permet de créer, manipuler et supprimer des dossiers de messages distants appelés boîtes aux lettres.

  • IMAP permet aux utilisateurs de rechercher les e-mails.

  • Il permet un accès simultané à plusieurs boîtes aux lettres sur plusieurs serveurs de messagerie.

Commandes IMAP

Le tableau suivant décrit certaines des commandes IMAP:

SN Description de la commande
1 IMAP_LOGIN
Cette commande ouvre la connexion.
2 CAPABILITY
Cette commande demande la liste des fonctionnalités prises en charge par le serveur.
3 NOOP
Cette commande est utilisée comme interrogation périodique des nouveaux messages ou des mises à jour de l'état des messages pendant une période d'inactivité.
4 SELECT
Cette commande permet de sélectionner une boîte aux lettres pour accéder aux messages.
5 EXAMINE
C'est la même chose que la commande SELECT sauf qu'aucune modification de la boîte aux lettres n'est autorisée.
6 CREATE
Il est utilisé pour créer une boîte aux lettres avec un nom spécifié.
sept DELETE
Il est utilisé pour supprimer définitivement une boîte aux lettres avec un nom donné.
8 RENAME
Il est utilisé pour changer le nom d'une boîte aux lettres.
9 LOGOUT
Cette commande informe le serveur que le client a terminé la session. Le serveur doit envoyer une réponse BYE non balisée avant la réponse OK, puis fermer la connexion réseau.

Exemple

Dans l'exemple ci-dessous, nous nous connectons à un serveur Gmail avec les informations d'identification de l'utilisateur. Ensuite, nous choisissons d'afficher les messages dans la boîte de réception. Une boucle for est utilisée pour afficher les messages récupérés un par un et finalement la connexion est fermée.

import imaplib
import pprint
imap_host = 'imap.gmail.com'
imap_user = '[email protected]'
imap_pass = 'password'
# connect to host using SSL
imap = imaplib.IMAP4_SSL(imap_host)
## login to server
imap.login(imap_user, imap_pass)
imap.select('Inbox')
tmp, data = imap.search(None, 'ALL')
for num in data[0].split():
	tmp, data = imap.fetch(num, '(RFC822)')
	print('Message: {0}\n'.format(num))
	pprint.pprint(data[0][1])
	break
imap.close()

Selon la configuration de la boîte aux lettres, le courrier est affiché.