Guide
Paramètres SMTP Outlook : serveur, port, TLS
Référence SMTP Outlook complète pour développeurs : paramètres smtp.office365.com, port 587 avec STARTTLS, exigences Modern Auth (OAuth 2.0) depuis la suppression de Basic Auth par Microsoft en octobre 2022, limites d'envoi pour Microsoft 365 et Outlook.com, codes d'erreur SMTP courants et une alternative sans configuration.
Written by Nick Barraclough Product Manager
Commandes référencées dans ce guide : nylas email send pour envoyer sans SMTP, nylas auth login pour l'authentification OAuth et nylas email list pour lire les e-mails.
Quels sont les paramètres du serveur SMTP Outlook ?
Le serveur SMTP d'Outlook est smtp.office365.com. Le port 587 avec STARTTLS est la seule configuration prise en charge depuis que Microsoft a déprécié le port 25 pour les soumissions client et recommande le port 587 avec STARTTLS plutôt que le port 465 pour Exchange Online. L'authentification doit utiliser OAuth 2.0 Modern Auth. Le tableau ci-dessous regroupe tous les paramètres nécessaires pour configurer n'importe quel client ou bibliothèque SMTP.
| Paramètre | Valeur |
|---|---|
| Serveur SMTP | smtp.office365.com |
| Port | 587 |
| Chiffrement | STARTTLS (obligatoire) |
| Authentification | OAuth 2.0 (Modern Auth) |
| Nom d'utilisateur | Adresse e-mail complète (user@domain.com) |
| Serveur IMAP | outlook.office365.com (port 993, TLS) |
| Serveur POP3 | outlook.office365.com (port 995, TLS) |
Les serveurs IMAP et POP3 utilisent un nom d'hôte différent (outlook.office365.com) de celui du serveur SMTP. Ce détail piège les développeurs qui supposent qu'ils sont identiques. Selon la documentation Exchange Online de Microsoft, SMTP AUTH doit être activé explicitement boîte par boîte par un administrateur du tenant. Il est désactivé par défaut sur les nouveaux tenants Microsoft 365.
Comment la fin de Basic Auth chez Microsoft a-t-elle changé l'accès SMTP ?
Microsoft a définitivement désactivé Basic Authentication pour les protocoles Exchange Online le 1er octobre 2022. Avant cette date, les clients SMTP pouvaient envoyer le nom d'utilisateur et le mot de passe en clair (encodés en base64 via AUTH LOGIN ou AUTH PLAIN). Depuis, toutes les connexions SMTP doivent s'authentifier avec un token d'accès OAuth 2.0 via le mécanisme SASL XOAUTH2. Ce changement a cassé des milliers de scripts, d'imprimantes et d'applications métier du jour au lendemain.
Pour envoyer un e-mail via SMTP avec Modern Auth, il vous faut un enregistrement d'app Azure AD avec la permission déléguée SMTP.Send. La requête de token s'adresse à https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token avec scope=https://outlook.office365.com/.default. Le token d'accès expire au bout de 3 600 secondes (1 heure), donc le code de production a besoin d'une boucle de refresh token. L'exemple ci-dessous montre le handshake SMTP EHLO après le passage à STARTTLS.
# Handshake SMTP Modern Auth (conceptuel)
EHLO client.example.com
STARTTLS
EHLO client.example.com
AUTH XOAUTH2 <base64-encoded-oauth2-token>
# Format du token base64 :
# user=user@contoso.com^Aauth=Bearer <access_token>^A^A
# où ^A est le caractère ASCII SOH (0x01)Le format de token XOAUTH2 n'est pas identique à un en-tête Bearer standard. Les champs user= et auth=Bearer sont séparés par des caractères SOH (0x01), puis la chaîne entière est encodée en base64. Se tromper dans cet encodage est la cause n°1 des erreurs 535 5.7.3 Authentication unsuccessful. La documentation XOAUTH2 de Microsoft inclut un exemple Python qui construit la chaîne correctement.
Quelles sont les erreurs SMTP Outlook courantes et leurs solutions ?
Le SMTP d'Outlook renvoie des codes d'erreur RFC 5321 accompagnés de codes de statut étendus propres à Microsoft. La famille 5.7.x couvre les échecs d'authentification et d'autorisation, les plus fréquents depuis la fin de Basic Auth. Le tableau ci-dessous liste 8 erreurs courantes issues de la référence NDR de Microsoft.
| Code d'erreur | Signification | Solution |
|---|---|---|
| 535 5.7.3 | Échec de l'authentification | Passez à OAuth 2.0 Modern Auth ; Basic Auth est définitivement désactivé |
| 550 5.7.501 | SMTP AUTH désactivé pour la boîte | Un admin doit activer SMTP AUTH via Set-CASMailbox -SmtpClientAuthenticationDisabled $false |
| 550 5.1.1 | Destinataire introuvable | Vérifiez que l'adresse du destinataire existe dans le domaine cible |
| 421 4.7.0 | Connexion ralentie (throttling) | Patientez 60 secondes avant de réessayer ; réduisez le débit d'envoi |
| 550 5.7.708 | E-mails sortants bloqués pour le tenant | Un admin doit lever le blocage dans le Security & Compliance Center |
| 554 5.2.0 | Message trop volumineux | Réduisez la taille du message sous 25 Mo (35 Mo avec la surcharge base64 = ~25 Mo décodés) |
| 452 4.5.3 | Trop de destinataires | Restez sous le plafond de destinataires du tenant (valeur par défaut variable, max 1 000) |
| 550 5.7.520 | Détecté comme spam | Vérifiez les enregistrements SPF, DKIM et DMARC ; réduisez le débit d'envoi en masse |
L'erreur 535 5.7.3 est de loin la plus courante : elle représente la majorité des tickets de support depuis octobre 2022. Si vous la rencontrez, votre code envoie encore un nom d'utilisateur et un mot de passe en clair. La solution consiste à enregistrer une app Azure AD, obtenir un token OAuth 2.0 et utiliser le mécanisme XOAUTH2 décrit dans la section précédente.
Quelles sont les limites d'envoi de Microsoft 365 ?
Microsoft 365 applique des limites de débit par boîte et par tenant sur les soumissions SMTP AUTH. Les limites diffèrent entre les plans Microsoft 365 Business et les comptes Outlook.com gratuits. Dépasser une limite déclenche une réponse de throttling 421 4.7.0 ou un rejet 550. Le tableau ci-dessous présente les limites actuelles selon la documentation des limites Exchange Online de Microsoft.
| Limite | Microsoft 365 | Outlook.com |
|---|---|---|
| Destinataires par jour | 10 000 | variable selon l'abonnement |
| Destinataires par message | Jusqu'à 1 000 (configurable par l'admin) | 100 |
| Messages par minute | 30 | 30 |
| Taille max de message | 25 Mo | 25 Mo |
| Pièces jointes max | 250 | 250 |
La limite de 30 messages par minute surprend les développeurs qui construisent des systèmes de notification automatisés. C'est un plafond par boîte, pas par tenant : répartir les envois sur plusieurs boîtes permet donc de la contourner. Pour l'e-mail transactionnel à fort volume, Microsoft recommande une ressource Azure Communication Services ou un ESP tiers plutôt que SMTP AUTH.
Quand faut-il éviter complètement le SMTP Outlook ?
SMTP AUTH via smtp.office365.com exige un enregistrement d'app Azure AD, la gestion de tokens OAuth 2.0, l'encodage XOAUTH2 et une activation par boîte côté admin. Si vous construisez un script, un pipeline CI/CD ou un outil développeur qui envoie des e-mails depuis un compte Outlook, vous pouvez sauter tout cela. Le CLI s'authentifie via OAuth dans un navigateur, met le token en cache et gère le renouvellement automatiquement.
L'exemple ci-dessous envoie un e-mail depuis un compte Outlook en 2 commandes. La première s'authentifie et stocke les identifiants en local. La seconde envoie le message via HTTPS, pas SMTP. Pas de port 587, pas de handshake STARTTLS, pas d'encodage de token XOAUTH2 et aucune étape d'activation côté admin.
# Installation (macOS ou Linux)
brew install nylas/nylas-cli/nylas
# Authentifier votre compte Outlook
nylas auth login --provider microsoft
# Envoyer un e-mail
nylas email send \
--to recipient@example.com \
--subject "Quarterly report" \
--body "See the attached spreadsheet."
# Lister les e-mails récents pour vérifier la livraison
nylas email list --limit 5Les mêmes commandes fonctionnent pour Gmail, Yahoo, iCloud, Exchange et les comptes IMAP. Si vous avez besoin des paramètres SMTP spécifiques à Outlook pour un système legacy qui exige du SMTP brut, utilisez le tableau de référence en haut de cette page. Pour tout le reste, éviter SMTP élimine la complexité d'authentification introduite par la fin de Basic Auth chez Microsoft.
Étapes suivantes
- Envoyer un e-mail en PHP : mail(), PHPMailer, CLI — Trois façons d'envoyer un e-mail en PHP
- Paramètres SMTP Gmail — l'équivalent Gmail de cette référence, avec les ports 587/465 et la configuration du mot de passe d'application
- Envoyer un e-mail Outlook depuis le terminal — envoyer des e-mails Outlook sans Graph API ni SMTP
- E-mail Office 365 depuis PowerShell — gérer les e-mails O365 dans des scripts PowerShell
- Migration d'EWS vers Graph — migrer depuis Exchange Web Services avant l'arrêt d'octobre 2026
- Référence complète des commandes — chaque flag et sous-commande documentés