Guide
CLI IMAP : lire les e-mails depuis n'importe quel serveur
Utilisez un CLI IMAP pour lister, chercher et lire les e-mails depuis Fastmail, Zoho, ProtonMail Bridge, Dovecot et d'autres serveurs IMAP dans le terminal. IMAP est le protocole derrière chaque fournisseur de messagerie qui n'est ni Gmail, ni Outlook, ni Exchange.
Written by Qasim Muhammad Staff SRE
Reviewed by Hazik
Comment utiliser un CLI IMAP depuis le terminal ?
Connectez le compte IMAP une seule fois, puis utilisez nylas email list, nylas email search et nylas email read. Cela donne aux boîtes Fastmail, Zoho, ProtonMail Bridge, Dovecot et FAI le même workflow terminal que les fournisseurs OAuth.
En tant qu'outil IMAP en ligne de commande, le CLI est utile quand vous devez tester l'accès IMAP depuis le terminal une seule fois, puis continuer à utiliser des commandes e-mail normalisées au lieu de maintenir des configurations mutt, fetchmail ou imaplib séparées.
IMAP reste l'épine dorsale de la messagerie en dehors des plus grands fournisseurs hébergés.
IMAP (RFC 3501, publié en 2003) est le protocole qui alimente l'accès e-mail pour les fournisseurs en dehors du trio dominant (Google, Microsoft, Apple). Alors que Gmail et Outlook dominent la messagerie grand public, une part significative de la messagerie professionnelle et institutionnelle fonctionne encore sur des serveurs uniquement IMAP.
Les administrateurs de messagerie auto-hébergée, les titulaires de comptes FAI, les étudiants et les utilisateurs de fournisseurs axés sur la vie privée comme Fastmail ou Posteo dépendent tous d'IMAP. Le protocole fonctionne, mais configurer des clients IMAP depuis la ligne de commande est pénible.
Le problème de la configuration IMAP
Chaque serveur IMAP possède son propre nom d'hôte, port, mode TLS et méthode d'authentification. Pour se connecter avec mutt, fetchmail ou imaplib en Python, vous devez connaître les quatre. Si un seul est incorrect, vous fixerez un timeout de connexion pendant 30 secondes avant de voir une erreur cryptique.
Voici à quoi ressemble une configuration .muttrc typique pour un seul fournisseur :
# .muttrc pour Fastmail — 8 lignes de config pour un seul compte
set imap_user = "you@fastmail.com"
set imap_pass = "app-specific-password-here"
set folder = "imaps://imap.fastmail.com:993/"
set spoolfile = "+INBOX"
set record = "+Sent"
set postponed = "+Drafts"
set ssl_starttls = yes
set ssl_force_tls = yesMultipliez cela par chaque compte IMAP que vous possédez. Ajoutez maintenant un serveur auto-hébergé avec un certificat auto-signé, un compte FAI avec un port différent et un compte universitaire qui ne supporte que STARTTLS sur le port 143. Ce sont trois blocs de configuration séparés avec des réglages TLS différents, et tout changement de mot de passe casse la connexion en silence.
1. Installer le Nylas CLI
Le Nylas CLI s'installe sous forme de binaire unique sans dépendance d'exécution. Sur macOS et Linux, Homebrew est la méthode la plus rapide — l'installation se termine en moins de 30 secondes et inclut une vérification automatique de la somme de contrôle SHA-256. Le binaire pèse environ 25 Mo et supporte les architectures x86_64 et ARM64.
brew install nylas/nylas-cli/nylasPour les autres plateformes, le guide de démarrage couvre les méthodes d'installation par shell script, PowerShell et Go.
2. Connecter votre compte IMAP
Connecter un compte IMAP au Nylas CLI nécessite une configuration unique via le dashboard Nylas. Le dashboard détecte automatiquement les paramètres serveur pour plus de 50 fournisseurs IMAP connus, dont Fastmail, Zoho et Posteo. Pour les serveurs auto-hébergés, vous entrez le nom d'hôte et le port manuellement. L'ensemble de la configuration prend environ 2 minutes.
Rendez-vous sur dashboard-v3.nylas.com, créez une application et connectez votre compte IMAP. Puis configurez le CLI avec votre clé API :
nylas auth config
# Collez votre clé API à l'invite
# Vérifiez la connexion
nylas auth whoami
# => Authenticated as you@fastmail.com (IMAP)3. Lister vos e-mails
La commande nylas email list récupère les messages de n'importe quel serveur IMAP connecté avec la même syntaxe que les comptes Gmail, Outlook ou Exchange. Par défaut, la commande retourne les 10 messages les plus récents triés par date. Vous pouvez filtrer par statut de lecture ou ajuster le nombre de résultats avec des flags.
La commande FETCH du RFC 3501 IMAP nécessite normalement de spécifier les numéros de séquence des messages et les éléments de données. Le CLI abstrait cela en une seule commande qui fonctionne pour tous les fournisseurs.
# Lister les messages récents
nylas email list
# Afficher uniquement les messages non lus
nylas email list --unread
# Limiter à 25 résultats
nylas email list --limit 25Serveurs de messagerie auto-hébergés (Dovecot, Postfix, Zimbra)
Les serveurs de messagerie auto-hébergés fonctionnent avec le Nylas CLI via le même flux de connexion IMAP que n'importe quel fournisseur commercial. Dovecot seul alimente environ 73 % de tous les serveurs IMAP dans le monde, selon les données d'utilisation du projet Dovecot. Que vous utilisiez Dovecot pour IMAP, Postfix pour SMTP ou une solution tout-en-un comme Mail-in-a-Box ou Zimbra, la configuration du dashboard ne demande qu'un nom d'hôte et un port.
La plateforme Nylas gère la négociation TLS, le pool de connexions et les keepalives IMAP IDLE pour les serveurs auto-hébergés. Les configurations auto-hébergées courantes et les valeurs à entrer dans le dashboard Nylas :
| Pile logicielle | Nom d'hôte IMAP | Port | TLS |
|---|---|---|---|
| Dovecot (standard) | mail.yourdomain.com | 993 | Implicit TLS |
| Mail-in-a-Box | box.yourdomain.com | 993 | Implicit TLS |
| Zimbra | mail.yourdomain.com | 993 | Implicit TLS |
| Courier IMAP | mail.yourdomain.com | 993 or 143 | Implicit TLS or STARTTLS |
| Cyrus IMAP | mail.yourdomain.com | 993 | Implicit TLS |
| hMailServer (Windows) | mail.yourdomain.com | 993 | Implicit TLS |
Après avoir connecté un serveur auto-hébergé via le dashboard Nylas, les commandes CLI sont identiques à celles de n'importe quel autre fournisseur. Il n'y a rien de spécifique à IMAP dans l'utilisation du CLI — les mêmes commandes nylas email list et nylas email search fonctionnent que le serveur soit Dovecot, Zimbra ou Cyrus.
# Serveur Dovecot auto-hébergé — mêmes commandes que Gmail ou Outlook
nylas email list --limit 10
nylas email search "from:client@example.com"
nylas email list --folder "Sent" --limit 5Comptes e-mail FAI et télécom
Les comptes e-mail FAI de fournisseurs comme Comcast, AT&T et Deutsche Telekom se connectent via le Nylas CLI en utilisant les identifiants IMAP standard. Environ 30 à 40 millions d'Américains utilisent encore des adresses e-mail fournies par leur FAI, selon les données de Consumer Reports de 2023. Ces comptes offrent un accès IMAP uniquement — pas d'OAuth2, pas d'API REST, juste un nom d'utilisateur et un mot de passe.
Les domaines FAI courants incluent Comcast/Xfinity (@comcast.net), AT&T (@att.net, @sbcglobal.net), Deutsche Telekom (@t-online.de) et BT (@btinternet.com). Les comptes e-mail FAI sont notoirement fragiles avec les clients IMAP traditionnels car les FAI changent fréquemment les paramètres serveur. AT&T, par exemple, a migré de imap.mail.att.net vers l'infrastructure Yahoo en 2017, cassant tous les clients configurés manuellement.
Voici les noms d'hôte des serveurs IMAP des principaux FAI. Entrez ces valeurs lors de la configuration du dashboard Nylas si la détection automatique ne trouve pas le fournisseur.
# Serveurs IMAP des FAI courants (référence pour la configuration du dashboard Nylas)
# Comcast/Xfinity: imap.comcast.net:993
# AT&T: imap.mail.att.net:993
# Verizon: incoming.verizon.net:993
# Deutsche Telekom: secureimap.t-online.de:993
# BT Internet: imap4.btconnect.com:993
# Après connexion via le dashboard, les commandes sont les mêmes :
nylas email list --limit 10Messagerie universitaire et institutionnelle
Les systèmes de messagerie universitaires et institutionnels utilisent souvent des serveurs IMAP indépendants auxquels le Nylas CLI peut se connecter via le flux standard de grant IMAP. Selon une enquête EDUCAUSE de 2023, environ 40 % des établissements d'enseignement supérieur en Europe exploitent encore leur propre infrastructure de messagerie au lieu de sous-traiter à Google Workspace ou Microsoft 365. MIT, Caltech et la plupart des universités de recherche européennes entrent dans cette catégorie.
Ces comptes ont souvent des exigences spécifiques qui diffèrent des fournisseurs IMAP commerciaux :
- Un VPN peut être requis pour l'accès IMAP hors campus
- STARTTLS sur le port 143 au lieu d'Implicit TLS sur le port 993
- Authentification Kerberos ou LDAP au lieu de mots de passe simples
- Timeouts de connexion agressifs (souvent 5 minutes contre les 30 minutes du standard IMAP)
Le Nylas CLI gère les détails au niveau connexion — négociation TLS, keepalives IDLE et reconnexion après timeout — après que vous ayez fourni les informations serveur lors de la configuration du dashboard.
TLS, ports et la confusion STARTTLS
IMAP utilise deux numéros de port — 993 pour Implicit TLS et 143 pour STARTTLS ou le texte en clair — et choisir le mauvais provoque des échecs de connexion silencieux. Le RFC 8314, publié en 2018, recommande Implicit TLS sur le port 993 comme valeur par défaut pour tous les nouveaux déploiements. Malgré cela, une enquête de l'IETF en 2022 a révélé que plus de 35 % des serveurs IMAP actifs acceptent encore les connexions STARTTLS sur le port 143.
| Port | Méthode | Fonctionnement | Statut |
|---|---|---|---|
| 993 | Implicit TLS | Le handshake TLS s'effectue d'abord, puis IMAP | Recommandé (RFC 8314) |
| 143 | STARTTLS | IMAP se connecte en texte clair, puis passe en TLS | Legacy (encore courant) |
| 143 | Aucune | IMAP en texte clair (pas de chiffrement) | Obsolète — à éviter |
L'approche STARTTLS présente une vulnérabilité connue : un attaquant en position d'interception peut supprimer la commande STARTTLS avant que le client ne la voie, forçant une connexion en texte clair. C'est pourquoi le RFC 8314 recommande Implicit TLS. La plateforme Nylas utilise toujours TLS pour les connexions IMAP.
IMAP vs POP3 : pourquoi IMAP est important
IMAP conserve les messages sur le serveur et synchronise l'état entre les appareils, tandis que POP3 télécharge les messages et les supprime éventuellement du serveur. Le RFC 3501 (IMAP) a été publié en 2003 en remplacement du RFC 1939 (POP3, publié en 1996). Certains anciens comptes FAI proposent encore les deux protocoles, mais IMAP est le seul qui supporte la recherche côté serveur, la navigation dans les dossiers et le téléchargement partiel des messages.
| Fonctionnalité | IMAP (RFC 3501) | POP3 (RFC 1939) |
|---|---|---|
| Stockage des messages | Sur le serveur (synchronisé) | Téléchargé sur le client (supprimé du serveur par défaut) |
| Appareils multiples | Oui — tous les clients voient le même état | Non — chaque client télécharge indépendamment |
| Support des dossiers | Oui (INBOX, Sent, dossiers personnalisés) | Non (boîte de réception uniquement) |
| Recherche | Commande SEARCH côté serveur | Non supporté — téléchargement préalable requis |
| Téléchargement partiel | Oui (en-têtes seuls, parties du corps) | Non (message entier) |
| Bande passante | Faible (synchronise uniquement les changements) | Élevée (re-télécharge tout) |
| Accès hors ligne | Mis en cache localement par le client | Copie locale complète |
Si votre fournisseur propose les deux, choisissez toujours IMAP. Le Nylas CLI ne supporte pas POP3 car IMAP offre une interface strictement supérieure pour les opérations CLI — la recherche côté serveur, la navigation dans les dossiers et le téléchargement partiel des messages nécessitent tous IMAP.
Agréger plusieurs comptes IMAP
Le Nylas CLI peut agréger plusieurs comptes IMAP dans une seule interface en ligne de commande grâce au flag --grant. Chaque compte IMAP connecté — que ce soit Fastmail, Dovecot auto-hébergé ou une adresse FAI — devient un grant séparé entre lequel vous basculez avec un seul flag. Les clients IMAP traditionnels comme mutt nécessitent un bloc de configuration séparé par compte, ce qui signifie maintenir 3-4 fichiers d'identifiants pour 3-4 comptes.
L'exemple suivant montre comment interroger trois comptes IMAP distincts et compter les messages non lus sur tous en une seule boucle shell.
# Basculer entre les comptes avec le flag --grant
nylas email list --grant "you@fastmail.com" --limit 5
nylas email list --grant "you@selfhosted.org" --limit 5
nylas email list --grant "you@comcast.net" --limit 5
# Chercher dans un compte spécifique
nylas email search "invoice" --grant "you@fastmail.com"
# Compter les non lus sur tous les comptes en un script
for grant in "you@fastmail.com" "you@selfhosted.org" "you@comcast.net"; do
count=$(nylas email list --unread --json --grant "$grant" | jq length)
echo "$grant: $count unread"
doneLes noms de dossiers IMAP ne sont pas standardisés
Les noms de dossiers IMAP varient d'un serveur à l'autre car le RFC 3501 ne définit qu'un seul dossier obligatoire : INBOX. Tout autre nom de dossier — Sent, Drafts, Trash, Junk — est une convention, pas un standard. Courier IMAP utilise des noms séparés par des points comme INBOX.Sent, Dovecot utilise simplement Sent, et Zimbra utilise Sent avec un namespace interne différent. Le RFC 6154 (2011) a introduit l'extension SPECIAL-USE pour étiqueter les dossiers par rôle, mais l'adoption reste inégale — environ 60 % des serveurs IMAP la supportent.
La commande nylas folder list affiche tous les dossiers du serveur IMAP connecté. Le Nylas CLI normalise les noms de dossiers courants pour que vous puissiez utiliser Sent quelle que soit la convention de nommage interne du serveur.
# Lister tous les dossiers de votre serveur IMAP
nylas folder list
# Différences de noms de dossiers selon les fournisseurs :
# Fastmail: "Sent", "Trash", "Junk Mail", "Archive"
# Dovecot: "Sent" ou "INBOX.Sent" (préfixe de namespace variable)
# Zimbra: "Sent", "Trash", "Junk"
# Zoho: "Sent", "Trash", "Spam"
# Courier: "INBOX.Sent", "INBOX.Trash" (hiérarchie séparée par des points)
# Le Nylas CLI normalise les noms de dossiers courants
nylas email list --folder "Sent"
nylas email list --folder "Drafts"
nylas email list --folder "Trash"Le préfixe INBOX. est une convention Courier IMAP du début des années 2000. Si vous le voyez dans la sortie de nylas folder list, votre serveur utilise l'ancien style de namespace. Le CLI gère les deux formats.
Sortie JSON pour l'automatisation IMAP
Le Nylas CLI convertit les réponses brutes du protocole IMAP en JSON structuré grâce au flag --json. Le protocole IMAP natif utilise un format texte défini dans le RFC 3501 avec des structures parenthésées de type S-expression — pas quelque chose que l'on peut passer dans jq sans un parseur dédié. Le flag --json produit chaque message sous forme d'objet JSON avec des champs comme subject, from, date et body, prêt pour le scripting ou la consommation par des agents IA.
Trois patterns d'automatisation courants illustrent la valeur de la sortie JSON : un digest quotidien de la boîte de réception, un export JSON complet et une analyse de fréquence des expéditeurs. Chacun utilise jq pour traiter la sortie JSON du CLI.
# Digest quotidien de la boîte de réception de votre serveur auto-hébergé
nylas email list --unread --json --limit 50 | \
jq -r '.[] | "\(.date | split("T")[0]) | \(.from[0].name // .from[0].email) | \(.subject)"' | \
column -t -s '|'
# Exporter les 100 derniers messages en fichier JSON pour analyse
nylas email list --limit 100 --json > inbox-export.json
# Trouver les expéditeurs les plus fréquents
nylas email list --limit 200 --json | \
jq -r '[.[] | .from[0].email] | group_by(.) |
map({sender: .[0], count: length}) |
sort_by(-.count) | .[:10] |
.[] | "\(.count) \(.sender)"'Référence des fournisseurs IMAP
Cette référence couvre les noms d'hôte, ports et méthodes d'authentification des serveurs IMAP pour 9 fournisseurs populaires. Le dashboard Nylas détecte automatiquement les paramètres de la plupart de ces fournisseurs, mais vous pouvez les entrer manuellement si la détection automatique échoue. Tous les fournisseurs listés utilisent le port 993 avec Implicit TLS sauf ProtonMail Bridge, qui fonctionne localement sur le port 1143.
| Fournisseur | Serveur IMAP | Port | Méthode d'authentification |
|---|---|---|---|
| Fastmail | imap.fastmail.com | 993 | App password ou OAuth2 |
| Zoho Mail | imap.zoho.com | 993 | Mot de passe d'application |
| ProtonMail Bridge | 127.0.0.1 | 1143 | Mot de passe généré par Bridge |
| Posteo | posteo.de | 993 | Mot de passe du compte |
| GMX | imap.gmx.com | 993 | Mot de passe du compte |
| mail.com | imap.mail.com | 993 | Mot de passe du compte |
| Comcast/Xfinity | imap.comcast.net | 993 | Mot de passe du compte |
| AT&T | imap.mail.att.net | 993 | Mot de passe du compte |
| Dovecot (auto-hébergé) | Nom d'hôte de votre serveur | 993 | Votre configuration d'authentification |
Prochaines étapes
Après avoir listé les e-mails IMAP, le Nylas CLI permet d'envoyer, rechercher et gérer les calendriers et contacts sur tous les fournisseurs connectés. Ces guides couvrent les workflows associés pour IMAP et les autres fournisseurs de messagerie.
- Envoyer un e-mail depuis le terminal — composez et envoyez depuis n'importe quel compte IMAP
- Lister les e-mails Gmail — Gmail utilise sa propre API, mais les commandes CLI sont identiques
- Lister les e-mails Outlook — même workflow pour Microsoft 365
- Yahoo Mail CLI : lire les e-mails depuis le terminal — Yahoo supporte OAuth2 et IMAP
- iCloud Mail CLI : lire les e-mails depuis le terminal — l'IMAP d'Apple avec des étapes d'authentification supplémentaires
- Alternatives à Gmailify et POP3 — comparez IMAP, transfert et accès CLI après les changements POP de Gmail
- Alternative à l'API iCloud Mail — choisissez entre les paramètres IMAP Apple et un workflow CLI partagé
- Lister les e-mails Exchange — pour Exchange Online et on-prem
- Donner aux agents IA un accès e-mail via MCP
- Référence complète des commandes
- RFC 9051 -- IMAP4rev2 — la spécification IMAP actuelle, incluant SEARCH, FETCH et la négociation des capacités
- RFC 8314 -- Cleartext Considered Obsolete — impose Implicit TLS pour la soumission et IMAPS / POP3S