Le Guide Complet de Configuration SMTP : Ports, Authentification et Configuration du Serveur Email

Illustration de cybersécurité montrant une authentification, un serveur sécurisé avec bouclier et cadenas, et des ports reliés par circuits imprimés sur fond bleu foncé

La configuration SMTP est le processus de mise en place de ton serveur de courrier (ou client de messagerie) pour envoyer les messages correctement en utilisant le protocole SMTP (Simple Mail Transfer Protocol). Fais-le correctement et tes e-mails arrivent dans les boîtes de réception. Fais-le mal et tu feras face à des échecs de livraison, des erreurs d'authentification, ou des messages qui atterrissent silencieusement dans les dossiers de spam. Les trois choses que tu dois maîtriser à chaque fois sont le bon port, la bonne méthode de chiffrement, et des identifiants d'authentification qui fonctionnent.

Ce que SMTP fait réellement

SMTP est le protocole que ton client de messagerie ou application utilise pour remettre les messages sortants à un serveur de courrier, qui les achemine ensuite vers le destinataire. Il ne gère que l'envoi. La réception d'e-mails est gérée par des protocoles distincts : IMAP (pour la synchronisation) ou POP3 (pour le téléchargement).

Quand tu cliques sur « Envoyer », ton client ouvre une connexion TCP au serveur SMTP, s'authentifie, remet le message, et se déconnecte. Le serveur essaie ensuite de livrer ce message au serveur de courrier du destinataire en utilisant le même protocole, en cherchant l'enregistrement DNS MX (Mail Exchange) de la destination pour savoir où l'envoyer.

SMTP est défini dans RFC 5321 , qui a remplacé la RFC 2821 d'origine. Comprendre la spécification aide quand tu dois déboguer les conversations SMTP brutes ou configurer un serveur à partir de zéro.

Ports SMTP expliqués : 25, 465 et 587

Il y a trois ports que tu rencontreras dans n'importe quelle configuration SMTP. Chacun a un rôle spécifique, et utiliser le mauvais est l'une des causes les plus courantes d'échecs de livraison d'e-mails.

Port Nom Chiffrement Utilisation typique
25 SMTP Aucun (ou STARTTLS) Relais serveur à serveur (MTA à MTA)
465 SMTPS SSL/TLS implicite Soumission client héritée (anciennes applications)
587 Soumission STARTTLS (TLS explicite) Soumission d'e-mail client authentifiée

Port 25 vs 587 : lequel devrais-tu utiliser ?

Le port 25 est le port SMTP d'origine, défini en 1982. Il a été conçu pour que les serveurs de courrier se parlent entre eux, pas pour que les utilisateurs finaux soumettent du courrier. La plupart des fournisseurs d'accès Internet et des fournisseurs de cloud bloquent le port 25 sortant depuis les adresses IP résidentielles et d'hébergement partagé spécifiquement pour prévenir le spam. Si tu exécutes une application qui envoie des e-mails, essayer d'utiliser le port 25 échouera presque certainement.

Le port 587 est le bon choix pour soumettre des e-mails à partir d'un client ou d'une application. Il a été standardisé dans RFC 6409 comme le port dédié de « soumission de messages ». Il nécessite STARTTLS, ce qui signifie que la connexion commence non chiffrée puis se met à niveau vers TLS avant que les identifiants soient envoyés. C'est ce que Gmail, Outlook, et pratiquement tous les fournisseurs de messagerie modernes s'attendent à ce que tu utilises.

N'envoie jamais les identifiants sur une connexion non chiffrée. Si ton client SMTP revient au texte brut quand STARTTLS échoue, il transmettra ton nom d'utilisateur et ton mot de passe en clair. Configure toujours ton client pour qu'il exige TLS et rejette la connexion si le chiffrement ne peut pas être établi.

Port SMTP 465 : le port SSL hérité

Le port 465 a une histoire inhabituelle. Il a été brièvement attribué à SMTPS (SMTP over SSL) en 1997, puis cette attribution a été révoquée en 1998 quand STARTTLS sur le port 587 est devenu l'approche préférée. Malgré le fait d'être officiellement obsolète, de nombreux serveurs de courrier ont continué à le supporter, et il a été réenregistré plus tard par l'IANA à une fin différente.

En pratique, la plupart des fournisseurs acceptent toujours les connexions sur le port 465 en utilisant SSL/TLS implicite. Cela signifie que TLS enveloppe toute la connexion dès le premier octet, plutôt que de se mettre à niveau au milieu de la négociation comme STARTTLS. Certaines anciennes applications et matériels (certaines imprimantes réseau, anciens CRM) ne supportent que le port 465, donc il reste utile dans ces cas.

  • Utilise le port 465 si ton application ou ton appareil exige spécifiquement SSL implicite et ne peut pas faire STARTTLS.
  • Utilise le port 587 pour tout le reste. C'est la norme moderne.
  • Évite complètement le port 25 pour la soumission client.

Authentification SMTP : comment ça marche

L'authentification SMTP (souvent écrite SMTP AUTH) est définie dans RFC 4954 . Elle exige que le client prouve son identité avant que le serveur n'accepte le courrier sortant. Sans elle, n'importe qui pouvant atteindre ton serveur pourrait l'utiliser pour envoyer du spam, c'est pourquoi les relais ouverts sont traités comme un problème de sécurité grave.

Les mécanismes d'authentification les plus courants que tu verras dans la configuration SMTP sont :

  • PLAIN : Envoie le nom d'utilisateur et le mot de passe en base64. Sûr uniquement sur une connexion chiffrée (TLS doit être actif en premier).
  • LOGIN : Similaire à PLAIN mais envoie le nom d'utilisateur et le mot de passe comme des échanges séparés. Nécessite aussi TLS.
  • CRAM-MD5 : Un mécanisme de défi-réponse qui évite d'envoyer le mot de passe directement. Moins courant sur les serveurs modernes.
  • XOAUTH2 : Utilisé par Gmail et d'autres comptes Google Workspace. Au lieu d'un mot de passe, tu fournis un jeton d'accès OAuth 2.0. C'est ce dont tu as besoin quand l'accès aux « applications moins sécurisées » est désactivé.
Mots de passe d'application vs. ton mot de passe principal : Gmail, Outlook et Yahoo supportent tous les mots de passe spécifiques à l'application pour les clients SMTP qui ne supportent pas OAuth. Génère-en un à partir des paramètres de sécurité de ton compte et utilise celui-ci à la place de ton vrai mot de passe. Il peut être révoqué indépendamment sans changer tes identifiants principaux.

Configuration du serveur de courrier étape par étape

Que tu configures un client de messagerie comme Thunderbird, une application web envoyant des e-mails transactionnels, ou un serveur de courrier auto-hébergé, le processus suit la même séquence logique.

Pour les clients de messagerie et les applications

  1. Obtiens le nom d'hôte SMTP auprès de ton fournisseur. Exemples : smtp.gmail.com , smtp.office365.com , mail.yourdomain.com .
  2. Choisis le bon port. Utilise 587 avec STARTTLS par défaut. Reviens au 465 avec SSL uniquement si ton application l'exige.
  3. Rentre tes identifiants d'authentification. C'est généralement ton adresse e-mail complète comme nom d'utilisateur plus ton mot de passe ou mot de passe d'application.
  4. Définis la méthode de chiffrement. Fais-la correspondre au port : STARTTLS pour 587, SSL/TLS pour 465.
  5. Teste la connexion. La plupart des clients de messagerie ont un bouton « Tester les paramètres du compte » ou « Vérifier ». Utilise-le avant de sauvegarder.

Pour un serveur de courrier auto-hébergé (exemple Postfix)

Si tu exécutes ton propre serveur avec Postfix, la configuration SMTP principale se trouve dans /etc/postfix/main.cf . Voici un exemple minimal fonctionnant pour un serveur qui relaye via un fournisseur SMTP tiers :

# /etc/postfix/main.cf - Basic relay configuration

relayhost = [smtp.sendgrid.net]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = encrypt
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_use_tls = yes

Après édition, crée /etc/postfix/sasl_passwd avec tes identifiants, exécute postmap /etc/postfix/sasl_passwd pour le hacher, puis recharge Postfix avec systemctl reload postfix .

Verrouille sasl_passwd immédiatement. Exécute chmod 600 /etc/postfix/sasl_passwd et chmod 600 /etc/postfix/sasl_passwd.db après avoir créé le fichier. Les fichiers d'identifiants lisibles sont une mauvaise configuration courante du serveur.

Paramètres SMTP courants pour les fournisseurs populaires

Fournisseur Hôte SMTP Port Chiffrement Note d'authentification
Gmail smtp.gmail.com 587 STARTTLS Utilise mot de passe d'application ou OAuth2
Gmail (alt) smtp.gmail.com 465 SSL/TLS Utilise mot de passe d'application ou OAuth2
Microsoft 365 smtp.office365.com 587 STARTTLS Authentification moderne / mot de passe d'application
Yahoo Mail smtp.mail.yahoo.com 465 SSL/TLS Mot de passe d'application requis
Zoho Mail smtp.zoho.com 587 STARTTLS E-mail complet comme nom d'utilisateur
Amazon SES email-smtp.us-east-1.amazonaws.com 587 STARTTLS Identifiants SMTP IAM

Dépannage des problèmes de connexion SMTP

La plupart des échecs SMTP tombent dans un petit nombre de catégories. Avant de fouiller dans les journaux, vérifie si le port est réellement accessible depuis ton serveur ou ton réseau. Un pare-feu ou un blocage du fournisseur d'accès est souvent le coupable, et tu peux le confirmer rapidement sans outils spéciaux.

Tu peux vérifier si un port SMTP est ouvert sur ton serveur de courrier en utilisant un vérificateur de port gratuit en ligne. Entre le nom d'hôte ou l'adresse IP de ton serveur de courrier, sélectionne le port 25, 465 ou 587, et exécute le test. Si le résultat revient comme fermé ou délai dépassé, le problème est au niveau du réseau (pare-feu, blocage du fournisseur d'accès, ou le service n'est pas en cours d'exécution) plutôt qu'une erreur de configuration dans ton application.

Messages d'erreur courants et ce qu'ils signifient

  • Connexion refusée / Délai de connexion dépassé : Le port est bloqué ou le service n'écoute pas. Vérifie tes règles de pare-feu et confirme que le daemon SMTP est en cours d'exécution.
  • 535 Authentification échouée : Mauvais nom d'utilisateur ou mot de passe. Pour Gmail, cela signifie généralement que tu as besoin d'un mot de passe d'application, pas de ton mot de passe de compte.
  • 550 5.7.1 Accès de relais refusé : Ton serveur n'est pas configuré pour relayer le courrier pour cette adresse d'expéditeur, ou l'authentification ne s'est pas produite avant la commande MAIL FROM.
  • 421 Trop de connexions : Le serveur destinataire te limite en débit. Réduis la fréquence d'envoi ou implémente une file d'attente avec des délais.
  • Échec de la négociation TLS : Incompatibilité de certificat ou version TLS obsolète. Vérifie que le certificat SSL de ton serveur est valide et que tu n'essaies pas d'utiliser TLS 1.0 ou 1.1, que la plupart des fournisseurs ont désactivés.

Liste de contrôle de diagnostic rapide

  1. Confirme que le port SMTP est ouvert et accessible depuis ton environnement d'envoi.
  2. Vérifie que le nom d'hôte se résout correctement avec nslookup smtp.yourdomain.com .
  3. Vérifie que ton adresse IP d'envoi ne figure pas sur une liste de blocage en utilisant un outil comme Vérification de liste noire MXToolbox .
  4. Confirme que tes enregistrements DNS SPF, DKIM et DMARC sont publiés correctement. Les enregistrements manquants ou cassés font que le courrier légitime est rejeté ou mis en spam.
  5. Examine les journaux de ton serveur de courrier. Pour Postfix, vérifie /var/log/mail.log . Les codes de réponse SMTP réels dans le journal te disent exactement ce que le serveur distant a rejeté et pourquoi.
SPF, DKIM et DMARC sont aussi importants que tes paramètres SMTP. Même un serveur SMTP parfaitement configuré aura des problèmes de livrabilité si ces enregistrements DNS manquent. SPF indique aux serveurs destinataires quelles adresses IP sont autorisées à envoyer pour ton domaine. DKIM ajoute une signature cryptographique aux messages sortants. DMARC indique aux destinataires quoi faire quand l'une ou l'autre vérification échoue.
Outil de vérificateur de port en ligne vérifiant l'état du port SMTP pour la configuration du serveur de courrier

Ton port SMTP est-il réellement ouvert ?

Avant de blâmer ta configuration smtp, confirme que le problème n'est pas un port bloqué. Notre vérificateur de port gratuit te permet de tester le port 25, 465 ou 587 sur n'importe quel serveur de courrier instantanément, donc tu sais si tu fais face à un problème de pare-feu ou une erreur de configuration.

Vérifie ton port SMTP maintenant →

Le port 465 utilise SSL/TLS implicite, ce qui signifie que la connexion entière est chiffrée dès le départ. Le port 587 utilise STARTTLS, qui commence comme une connexion brute puis se met à niveau vers TLS avant d'envoyer les identifiants. Les deux sont sécurisés quand configurés correctement, mais le port 587 est la norme moderne recommandée pour la soumission d'e-mail client. Utilise 465 uniquement si ton application exige spécifiquement SSL implicite et ne peut pas supporter STARTTLS.

Le port 25 est bloqué sur la plupart des réseaux d'hébergement résidentiel et partagé parce qu'il a été historiquement utilisé pour envoyer du spam directement depuis des machines compromises. En bloquant le port 25 sortant, les fournisseurs d'accès Internet et les fournisseurs de cloud (y compris AWS EC2 par défaut) empêchent leurs plages d'adresses IP d'être utilisées comme sources de spam. Pour envoyer des e-mails depuis des applications, utilise le port 587. Si tu exécutes un serveur de courrier légitime qui a besoin que le port 25 soit ouvert pour le relais serveur à serveur, tu dois généralement demander à ton fournisseur de lever le blocage.

Dans la plupart des cas, ton nom d'utilisateur SMTP est ton adresse e-mail complète, par exemple you@yourdomain.com . Certains anciens systèmes utilisent juste la partie locale avant le signe @. Pour des services comme Amazon SES, le nom d'utilisateur est une identifiant SMTP générée par IAM séparé, pas du tout ton adresse e-mail. Vérifie toujours la documentation de ton fournisseur spécifique. Quand tu utilises Gmail ou Outlook avec l'authentification à deux facteurs activée, tu devras générer un mot de passe spécifique à l'application plutôt que d'utiliser ton mot de passe de compte régulier.

Tu peux tester à plusieurs niveaux. D'abord, vérifie que le port SMTP est accessible en utilisant un outil de vérificateur de port ou en exécutant telnet smtp.yourdomain.com 587 depuis ton serveur. Si le port est ouvert, tu peux tester la poignée de main SMTP complète en utilisant openssl s_client -starttls smtp -connect smtp.yourdomain.com:587 , qui affiche le certificat TLS et te permet de taper des commandes SMTP brutes. Pour un test de bout en bout complet sans livrer à une vraie boîte de réception, utilise un service comme Mailtrap, qui accepte les connexions SMTP et te montre le message sans le transférer.

L'authentification SMTP réussie prouve seulement que tu es autorisé à utiliser le serveur. Le filtrage du spam se produit séparément au bout destinataire et est basé sur une combinaison de facteurs : si ton adresse IP d'envoi figure sur une liste de blocage, si ton enregistrement SPF autorise cette adresse IP à envoyer pour ton domaine, si ta signature DKIM est valide et correspond à ton enregistrement DNS, et si ta politique DMARC est publiée. Un enregistrement SPF manquant ou cassé seul suffit à faire que Gmail ou Outlook mette tes messages au spam. Vérifie les trois enregistrements DNS et confirme la réputation de ton adresse IP d'envoi.

Oui, mais avec des limitations. Le serveur SMTP de Gmail ( smtp.gmail.com sur le port 587) enverra du courrier authentifié comme ton compte Gmail. Si tu veux que l'adresse « De » affiche ton domaine personnalisé, tu dois ajouter cette adresse dans les paramètres de Gmail sous « Envoyer du courrier en tant que » et vérifier la propriété. Cependant, Gmail ajoute une annotation « envoyé via gmail.com » visible dans certains clients de messagerie. Pour une configuration plus propre avec ton propre domaine, utiliser un fournisseur de messagerie transactionnelle comme Amazon SES ou un relais SMTP dédié est un meilleur choix à long terme.