Guide

Outlook CLI : lister les e-mails dans le terminal (sans Graph API)

Utilisez un CLI Outlook pour lire, chercher et filtrer les e-mails Microsoft 365 depuis le terminal. Le chemin direct Graph API nécessite l'enregistrement d'une app Azure AD, des tokens MSAL, des permissions et de la logique de retry. Nylas CLI gère ce setup derrière une commande et utilise le même workflow pour Gmail, Exchange, Yahoo, iCloud et IMAP.

Written by Nick Barraclough Product Manager

Reviewed by Qasim Muhammad

VerifiedCLI 3.1.1 · Outlook.com, Microsoft 365 · last tested April 11, 2026

Comment utiliser un CLI Outlook pour lire les e-mails depuis le terminal ?

Utilisez nylas email list, nylas email search et nylas email read après avoir connecté votre boîte Outlook ou Microsoft 365. Le CLI vous offre un workflow Outlook en terminal sans enregistrer d'app Azure AD ni écrire de code Microsoft Graph API.

Pour un workflow Outlook par ligne de commande, cela signifie un seul jeu de commandes pour lister, chercher et lire les e-mails sur les comptes Outlook.com et Microsoft 365.

Microsoft 365 compte plus de 400 millions de licences payantes, selon le rapport financier FY2024 de Microsoft. C'est la plateforme de messagerie professionnelle la plus déployée au monde. Pourtant, lire sa propre boîte de réception depuis la ligne de commande nécessite une quantité surprenante de configuration.

L'API Graph est le seul chemin supporté depuis que Microsoft a déprécié Basic Auth pour Exchange Online en octobre 2022. Pour un seul appel GET /me/messages, vous devez enregistrer une app dans Azure AD, configurer les permissions Mail.Read, implémenter l'acquisition de tokens MSAL avec gestion du refresh, et parser le format JSON propriétaire de Microsoft (pas le MIME standard). Selon les directives de throttling de l'API Graph de Microsoft, chaque boîte est limitée à 10 000 requêtes par 10 minutes — vous avez donc aussi besoin d'une logique de retry pour les réponses 429.

EWS (Exchange Web Services) existe encore, mais Microsoft a annoncé sa dépréciation pour Exchange Online en octobre 2026 (annonce MC862873). Le CLI az n'a pas de commandes e-mail. Le Get-MailboxFolderPermission de PowerShell nécessite les modules de gestion Exchange Online et un accès administrateur. Aucun de ces outils ne fournit un workflow propre et portable.

1. Installation et authentification

L'installation de Nylas CLI et la connexion d'un compte Outlook prend moins de 2 minutes. Le CLI s'authentifie via clé API, vous n'avez donc pas besoin d'enregistrer une app Azure AD, de configurer MSAL ou de gérer le refresh des tokens. Une commande brew install et un collage de clé API vous amène de zéro à la liste des e-mails.

Homebrew est le chemin d'installation le plus rapide sur macOS et Linux. La formule télécharge le binaire de la dernière version et vérifie sa somme de contrôle SHA-256 automatiquement.

# Installation via Homebrew (macOS / Linux)
brew install nylas/nylas-cli/nylas

Les autres méthodes d'installation (shell script, PowerShell, Go) sont couvertes dans le guide de démarrage.

Après l'installation, rendez-vous sur dashboard-v3.nylas.com, créez une application et connectez votre compte Microsoft 365 ou Outlook.com. Le dashboard gère le consentement OAuth2 et le stockage des tokens. Puis configurez le CLI avec votre clé API :

nylas auth config
# Collez votre clé API à l'invite

nylas auth whoami
# => Authenticated as you@company.com (Microsoft)

2. Lister, chercher et lire les e-mails

Nylas CLI expose trois sous-commandes e-mail — list, search et read — qui couvrent la même surface que 8 endpoints différents de l'API Graph. Chaque commande retourne des résultats en moins d'une seconde pour les boîtes typiques. La commande list affiche les messages récents par défaut, tandis que search accepte des filtres par mot-clé, expéditeur et plage de dates qui correspondent à l'index de recherche côté serveur d'Outlook.

Les exemples suivants montrent les patterns courants pour lister, filtrer et lire les e-mails Outlook. Le flag --limit contrôle le nombre de résultats, et --unread restreint la sortie aux messages non lus.

# E-mails récents
nylas email list
nylas email list --limit 10
nylas email list --unread

# Recherche par mot-clé, expéditeur ou plage de dates
nylas email search "quarterly report" --limit 5
nylas email search "from:manager@company.com"
nylas email search "after:2026-01-01 before:2026-02-01"

# Lire un message spécifique (IDs affichés dans la sortie list)
nylas email read msg_abc123
nylas email read msg_abc123 --mime

3. Sortie JSON pour le scripting

Chaque commande e-mail Nylas CLI accepte un flag --json qui produit du JSON normalisé au lieu de la vue tableau par défaut. Ce format JSON est cohérent entre les 6 fournisseurs supportés — Gmail, Outlook, Exchange, Yahoo, iCloud et IMAP — les scripts écrits pour un fournisseur fonctionnent donc sans modification avec un autre. La sortie se pipe directement dans jq, des scripts shell ou des flux d'outils d'agents IA.

Les exemples ci-dessous montrent trois patterns de scripting courants : compter les messages non lus, extraire les lignes de sujet et filtrer les notifications automatisées de Microsoft Teams et SharePoint. Les comptes Microsoft 365 reçoivent typiquement 15 à 30 e-mails de notification automatisés par jour de Teams seul, rendant le filtrage programmatique utile pour l'analyse de boîte de réception.

# Compter les e-mails non lus
nylas email list --unread --json | jq length

# Extraire les sujets
nylas email list --limit 5 --json | jq '.[].subject'

# Filtrer les notifications Teams/SharePoint
nylas email list --json \
  | jq '[.[] | select(.from[0].email | test("teams|sharepoint"; "i"))]' \
  | jq length

4. Boîte de réception Prioritaire vs Autres

La Boîte de réception Prioritaire d'Outlook utilise le machine learning pour séparer les messages importants des moins prioritaires, et Microsoft rapporte qu'elle réduit le temps de tri des e-mails jusqu'à 50 % pour les utilisateurs actifs. L'API Graph expose cette classification via la propriété inferenceClassification, mais y accéder nécessite un paramètre $filter séparé et ne correspond pas à un dossier standard. Nylas CLI expose directement la structure de dossiers d'Outlook, permettant de lister les messages de n'importe quel dossier, y compris Prioritaire, Boîte de réception, Éléments envoyés et Courrier indésirable.

La commande nylas email folders list affiche chaque dossier de la boîte, y compris les dossiers système qu'Outlook crée automatiquement. Le flag --folder sur nylas email list filtre les résultats sur un seul dossier par nom.

# Lister tous les dossiers — la Boîte Prioritaire apparaît comme attribut
nylas email folders list

# Lister les e-mails dans des dossiers Outlook spécifiques
nylas email list --folder "Inbox"
nylas email list --folder "Sent Items"
nylas email list --folder "Archive"
nylas email list --folder "Junk Email"
nylas email list --folder "Drafts"

5. Boîtes partagées et accès délégué

Les boîtes partagées sont un pattern courant dans les organisations Microsoft 365 — la documentation de Microsoft estime que le tenant entreprise moyen a 5 à 10 boîtes partagées pour des alias d'équipe comme support@ ou billing@. Accéder à une boîte partagée via l'API Graph nécessite GET /users/{id}/messages avec les permissions Mail.Read.Shared et le consentement admin du tenant. Nylas CLI simplifie cela en traitant chaque boîte partagée comme un grant séparé, permettant de basculer entre boîtes personnelles et partagées avec les mêmes commandes.

Connectez la boîte partagée comme un grant séparé dans le dashboard Nylas. Puis utilisez nylas auth list pour voir toutes les boîtes connectées et passez l'ID du grant à n'importe quelle commande e-mail. L'accès délégué fonctionne de la même manière.

# Lister les grants pour voir toutes les boîtes connectées
nylas auth list

# Travailler avec une boîte partagée (connectée comme grant séparé)
nylas email list <shared-mailbox-grant-id>

6. Catégories et flags Outlook

Outlook supporte jusqu'à 25 catégories colorées et des flags de suivi par message — des fonctionnalités sans équivalent dans Gmail ou Yahoo Mail. Les catégories sont l'une des fonctionnalités d'organisation les plus utilisées dans les déploiements Outlook d'entreprise, selon la recherche en productivité de Microsoft. L'API Graph retourne les catégories sous forme de tableau de chaînes sur chaque objet message, mais le filtrage par catégorie nécessite la construction d'une expression OData $filter. Nylas CLI expose le filtrage par catégorie via sa syntaxe de recherche.

La commande de recherche accepte les noms de catégories directement. Vous pouvez aussi combiner les filtres de catégorie avec des requêtes par expéditeur et mot-clé, ou piper la sortie JSON vers jq pour des rapports personnalisés basés sur les catégories.

# Chercher les e-mails avec une catégorie spécifique
nylas email search "category:Red"

# Combiner catégorie avec d'autres filtres
nylas email search "category:Blue from:cfo@company.com" --limit 10

# Exporter les e-mails catégorisés en JSON pour les rapports
nylas email list --json | jq '[.[] | select(.categories[]? == "Project Alpha")]'

7. Microsoft Graph API vs Nylas CLI

L'API Microsoft Graph nécessite un minimum de 40 lignes de code et 4 étapes de configuration distinctes pour lister les e-mails d'une boîte Outlook. Nylas CLI réduit cela à une seule commande sans code applicatif. Le tableau suivant compare chaque étape côte à côte, les détails de l'API Graph provenant de la documentation Microsoft Learn pour l'endpoint /me/messages.

ÉtapeMicrosoft Graph APINylas CLI
Enregistrer l'appEnregistrement d'app Azure AD (portal.azure.com)Non requis
PermissionsScope Mail.Read + consentement admin pour comptes orgGéré par le dashboard Nylas
Flux d'authBibliothèque MSAL, acquisition de tokens, gestion du refreshnylas auth config
CodeAppels REST ou MS Graph SDK — 40+ lignes minimumZéro code
Lister les e-mailsGET /me/messages avec token Bearernylas email list
Format de réponseJSON propriétaire Microsoft (pas MIME)JSON normalisé pour tous les fournisseurs
PaginationSuivre @odata.nextLink manuellementFlag --limit
RechercheParams OData $search ou $filternylas email search "query"
Limites de taux10 000 req / 10 min par boîte — gérer les 429 vous-mêmeGéré automatiquement avec backoff
Boîtes partagéesMail.Read.Shared + consentement adminGrant séparé, mêmes commandes

8. Notes de déploiement Microsoft 365

Les tenants Microsoft 365 ont des politiques au niveau organisationnel qui peuvent affecter la connexion d'outils externes aux boîtes. Ces politiques existent sur les 400+ millions de licences payantes et varient significativement par secteur — les tenants santé et gouvernement appliquent des accès conditionnels plus stricts que la plupart des déploiements commerciaux. Les points suivants sont spécifiques à Microsoft 365 et ne s'appliquent pas aux comptes Outlook.com personnels.

  • Politiques d'accès conditionnel — si votre org applique la conformité des appareils ou des restrictions IP, votre admin IT devra peut-être mettre la connexion Nylas en liste blanche
  • Tenants GCC et GCC High — les tenants cloud du gouvernement US utilisent des endpoints Graph API séparés ; vérifiez avec votre admin avant de connecter
  • Politiques de rétention — les politiques de rétention de conformité Microsoft 365 peuvent empêcher la suppression de messages même si la commande CLI réussit. Le message réapparaît après synchronisation
  • Notifications Teams et SharePoint — filtrez-les avec nylas email search "from:noreply@email.teams.microsoft.com"

Prochaines étapes