IMAP (Internet Message Access Protocol)

Définition

IMAP (Internet Message Access Protocol, RFC 3501) est un protocole de récupération de messagerie qui permet à un client d’accéder aux messages email stockés sur un serveur de messagerie distant. Contrairement au POP3, IMAP synchronise le client avec le serveur, de sorte que les messages restent sur le serveur et sont accessibles depuis plusieurs appareils.

IMAP est le protocole de récupération de messagerie dominant pour les clients email modernes et le webmail.

IMAP vs POP3

|| Fonctionnalité | IMAP | POP3 | ||———|——|——| || Stockage des messages | Sur le serveur | Téléchargé sur le client (généralement supprimé du serveur) | || Sync multi-appareils | Oui | Non | || Gestion des dossiers | Dossiers côté serveur | Local uniquement | || Téléchargement partiel | Oui (en-têtes en premier) | Non (message complet) | || Recherche sur serveur | Oui | Non | || Accès hors ligne | Limité | Complet (messages téléchargés) | || Bande passante | Plus faible (sync uniquement des modifications) | Plus élevée (télécharge tout) | || Cas d’usage | Multi-appareils, email moderne | Appareil unique, accès hors ligne |

Ports IMAP

|| Port | Protocole | Cas d’usage | ||——|———-|———-| || 143 | IMAP (non chiffré) | Héritage, non recommandé | || 993 | IMAPS (TLS) | Recommandé, TLS implicite | || 143 + STARTTLS | IMAP + STARTTLS | Mise à niveau vers TLS |

Structure des dossiers IMAP

INBOX (par défaut)
├── Sent (éléments envoyés)
├── Drafts
├── Trash
├── Spam/Junk
├── Dossiers personnalisés :
│   ├── Work
│   ├── Personal
│   └── Archive

Commandes IMAP (Simplifiées)

Client : a001 LOGIN user@example.com password
Serveur : a001 OK Login successful

Client : a002 SELECT INBOX
Serveur : * 15 EXISTS
Serveur : * 3 RECENT
Serveur : a002 OK [READ-WRITE] SELECT completed

Client : a003 FETCH 1:5 (BODY.PEEK[HEADER])
Serveur : * 1 FETCH (BODY[HEADER] {1234} ...)
Serveur : * 2 FETCH (BODY[HEADER] {567} ...)
Serveur : ...
Serveur : a003 OK FETCH completed

Client : a004 COPY 1:3 "Work"
Serveur : * 15 EXISTS
Serveur : a004 OK COPY completed

Client : a005 STORE 1 +FLAGS (\Deleted)
Serveur : * 1 FETCH (FLAGS (\Deleted \Seen))
Serveur : a005 OK STORE completed

Client : a006 EXPUNGE
Serveur : * 15 EXPUNGE
Serveur : a006 OK EXPUNGE completed

Client : a007 LOGOUT
Serveur : * BYE IMAP4rev1 server logging out
Serveur : a007 OK LOGOUT completed

IMAP dans l’infrastructure

|| Composant | Rôle IMAP | ||———–|———–| || Serveur de messagerie | Dovecot, Courier (serveur IMAP) | || Client email | Thunderbird, Outlook, Apple Mail | || Webmail | Roundcube, SquirrelMail | || Archivage email | IMAP pour la récupération massive d’emails | || Monitoring | Nombre de connexions IMAP, taille des boîtes mail |

Sécurité IMAP

|| Fonctionnalité | Description | ||———|————-| || STARTTLS | Mise à niveau d’IMAP vers le chiffrement TLS | || SMTP AUTH | IMAP AUTH PLAIN LOGIN OAuth2 | || Sieve | Filtrage email côté serveur (RFC 5228) | || IMAP ID | Identification du client (RFC 2971) | || ACL | Listes de contrôle d’accès pour les boîtes partagées | || Quota | Limites de taille de boîte mail (RFC 2087) |

Termes associés

  • Smtp — POP3 est l’alternative à IMAP
  • Tls — filtrage du trafic IMAP (port 993)
  • Email — IMAP est le protocole de récupération email

Références