Récupérer un message électronique sur un serveur IMAP

Problème

Vous souhaitez collecter le courrier électronique en vous connectant à un serveur IMAP.

Solution

Créez un client TCP en utilisant la recette "Créer un client TCP/IP" (chapitre "Réseau") et connectez-vous au serveur IMAP sur le port 143. Communiquez avec ce serveur en respectant le protocole IMAP4rev1 défini dans la RFC 2060. Obtenez le nombre de messages avec la commande SELECT inbox, puis chaque message avec FETCH n (RFC822.HEADER RFC822.BODY).

Discussion

Avant de rentrer dans le vif du sujet, nous allons redéfinir le problème. En effet, contrairement au protocole POP3, qui est par ailleurs utilisé dans de nombreux logiciels de messagerie pour collecter les messages sur un serveur distant afin de les consulter en local, le protocole IMAP permet une gestion fine des messages. Il est par exemple possible d’extraire le sujet, la date ou l’expéditeur de chaque message. Nous pouvons ainsi choisir de ne collecter que certains courriers, voire, comme le font la plupart des logiciels de messagerie avec interface web (les webmails), déléguer la gestion de la boîte aux lettres au serveur IMAP. Récupérer le courrier électronique sur un serveur IMAP de la même manière que sur un serveur POP3 ne présente donc aucun intérêt. Considérez l’utilisation d’un serveur POP3 et référez-vous à...

Pour consulter la suite, découvrez le livre suivant :
couv_EI3CACT.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Récupérer un message électronique sur un serveur POP3
Suivant
Rechercher et lire un courrier dans une boîte au format maildir