Blog

Ports SMTP pour la messagerie électronique : 25, 465, 587 et 2525

DéBounce
Articles
47 min de lecture

Points clés à retenir

  • Les ports SMTP contrôlent la manière dont les courriels sont envoyés des clients et des applications aux serveurs de messagerie, ce qui les rend essentiels pour établir des connexions de messagerie sécurisées et fiables.
  • Le port 587 est le port SMTP recommandé pour l'envoi de courriels aujourd'hui, car il prend en charge l'authentification et le chiffrement STARTTLS et est largement pris en charge par les fournisseurs de messagerie.
  • Une sécurité SMTP robuste repose sur plusieurs pratiques essentielles : exiger le chiffrement TLS pour toutes les connexions, utiliser l’authentification par e-mail (SMTP AUTH), maintenir à jour les certificats SSL/TLS, mettre en œuvre des normes d’authentification telles que SPF, DKIM et DMARC, et surveiller l’activité SMTP afin de détecter rapidement les problèmes de sécurité ou les erreurs de configuration.
  • Les problèmes courants liés aux ports SMTP incluent les délais d'attente de connexion, les échecs d'authentification, le blocage des ports par le FAI ou le pare-feu, et les problèmes de négociation TLS tels que les erreurs de certificat, les incompatibilités de protocole ou les suites de chiffrement non prises en charge.

Chaque jour, plus de 370 milliards de courriels De nos jours, tout le monde navigue sur Internet, mais rares sont ceux qui s'intéressent à l'infrastructure qui rend possible ce flux constant de communication. Au cœur de ce système se trouve le protocole SMTP (Simple Mail Transfer Protocol), le protocole standard qui permet d'envoyer les courriels depuis le client ou l'application de l'expéditeur vers un serveur de messagerie, puis vers le serveur du destinataire.

Un port SMTP est le point d'accès réseau qui permet cette connexion. Lors de la transmission de courriels, le port détermine comment un client ou une application communique avec le serveur de messagerie et quels mécanismes de sécurité, tels que… chiffrement L'authentification est mise en œuvre lors du processus. C'est pourquoi le port SMTP utilisé est crucial pour la délivrabilité et la sécurité. Un port incorrect peut entraîner des échecs de connexion, le blocage des messages ou une protection insuffisante lors de la transmission, tandis qu'une configuration correcte garantit une distribution fiable et sécurisée des e-mails.

Les ports SMTP les plus couramment utilisés aujourd'hui sont les ports 25, 465, 587 et 2525. Ce guide explique le fonctionnement de chacun d'eux et comment choisir le plus adapté pour une distribution de courriels sécurisée et fiable.

Plongeons dedans.

Voici un guide de référence concis des ports SMTP :
Port 25 : Port SMTP standard pour le relais de courrier électronique serveur à serveur (généralement bloqué en raison de problèmes de spam).
Port 587 : Port sécurisé par défaut pour l’envoi de courriels (recommandé).
Port 465 : Port SMTPS hérité (à utiliser uniquement si nécessaire).
Port 2525 : Port alternatif lorsque les autres ports sont bloqués.

Comprendre les principes fondamentaux du protocole SMTP

Qu'est-ce que le protocole SMTP et comment fonctionne-t-il ?

Le protocole SMTP (Simple Mail Transfer Protocol) est la norme Internet pour la transmission du courrier électronique.

Développé au début des années 1980, le protocole SMTP constitue la base de la circulation des courriels sur les réseaux, de l'expéditeur au destinataire.

Considérez les fonctions du protocole SMTP un peu comme une course de relais :

  1. Rédaction : Vous rédigez un courriel dans votre client de messagerie (comme Gmail, Outlook ou Apple Mail).
  2. Envoi : Votre client de messagerie envoie le message à un serveur SMTP
  3. Relais : Le serveur SMTP détermine la destination du message.
  4. Livraison : Après avoir potentiellement transité par plusieurs serveurs SMTP, le message arrive sur le serveur de messagerie du destinataire.
  5. Récupération : Le destinataire accède au message via des protocoles tels que POP3 ou IMAP.

Illustration montrant le processus simple d'envoi d'un courriel sur Internet (Composer > Serveur SMTP > Envoyer au serveur de messagerie du destinataire, puis Lire).

Pour visualiser ce processus, imaginez l'envoi d'une lettre physique :

  • Vous (client de messagerie) rédigez un message et le déposez dans une boîte aux lettres (envoi SMTP).
  • Le service postal (relais SMTP) achemine votre lettre à travers différents centres de tri.
  • Finalement, la lettre arrive au bureau de poste local de votre destinataire (serveur de courrier entrant).
  • Votre destinataire vérifie sa boîte aux lettres (POP3/IMAP) et récupère votre lettre.

L'évolution des ports SMTP

Lors de la première normalisation du protocole SMTP en 1982, la sécurité du courrier électronique n'était pas une préoccupation majeure.

Internet était alors un réseau beaucoup plus petit et plus fiable, principalement utilisé par les institutions universitaires et de recherche.

Par conséquent, la spécification SMTP d'origine ne comportait aucun mécanisme de sécurité intégré ; les courriels étaient transmis en texte clair, sans chiffrement ni authentification robuste.

Cependant, ce manque de sécurité est devenu problématique avec le développement d'Internet et la place prépondérante qu'occupe le courrier électronique comme outil de communication essentiel pour les entreprises et les particuliers.

Voici quelques problèmes de sécurité importants liés au protocole SMTP traditionnel :

  • Transmission en clair : les messages pourraient être interceptés et lus
  • Absence de chiffrement : les données sensibles étaient vulnérables.
  • Authentification limitée : il est facile de falsifier l’identité de l’expéditeur.
  • Potentiel de relais ouvert : les serveurs pourraient être exploités pour envoyer du spam

Au fil du temps, des extensions et des améliorations du protocole SMTP ont été développées pour remédier à ces lacunes :

  • Authentification SMTP : mécanismes d’authentification fournis
  • STARTTLS : Ajout de la prise en charge du chiffrement au niveau transport
  • SMTPS : Mise en œuvre du chiffrement SSL/TLS sur l’ensemble de la connexion

Que sont les ports et pourquoi sont-ils importants ?

Illustration d'icônes représentant les différents ports de messagerie et leur utilité.

En matière de réseaux, un port est un point de terminaison logique pour la communication.

Imaginez les ports comme des portes d'entrée spécialisées dans un système informatique, chacune prenant en charge un type de trafic spécifique. Les ports sont identifiés par des numéros allant de 0 à 65 535.

Pour la communication SMTP, des ports spécifiques ont été désignés :

  • Port 25 : Le port SMTP d'origine
  • Port 465 : Initialement réservé au SMTPS (SMTP sur SSL)
  • Port 587 : Le port moderne de soumission de messages
  • Port 2525 : Port alternatif utilisé lorsque les ports standard sont bloqués

Le choix du port a une incidence sur :

  1. Sécurité : Les différents ports offrent différents niveaux de chiffrement et d'authentification.
  2. Délivrabilité : Les FAI peuvent bloquer certains ports pour réduire le spam
  3. Compatibilité : Tous les services de messagerie ne prennent pas en charge tous les ports
  4. Fonctionnalités : Certains ports sont conçus à des fins spécifiques dans l'écosystème de messagerie électronique.

Comprendre ces distinctions est essentiel pour mettre en place des systèmes de messagerie électronique fiables et sécurisés.

Les principaux ports SMTP : une perspective historique

Alors, pourquoi ces ports et pourquoi ces différences ? Pourquoi ne pas utiliser un seul port sécurisé dédié à la messagerie électronique ? Analysons cela.

Port 25 : La norme d'origine

Le port 25 a été établi comme port SMTP standard en 1982 lorsque le protocole a été défini pour la première fois par l'Internet Engineering Task Force (IETF).

Pendant de nombreuses années, il a servi de port par défaut pour tout le trafic SMTP, à la fois pour l'envoi de courriels des clients aux serveurs et pour le relais de serveur à serveur.

La mise en œuvre du port 25 est née d'une demande formulée en 1982 par l'Université de Californie du Sud auprès de l'Internet Engineering Task Force (IETF).

À cette époque, l'objectif était d'établir un canal de communication standardisé pour la transmission des courriels, avec une protection de base contre les attaques, telles que l'interception par l'homme du milieu.

Aujourd'hui, le rôle du port 25 s'est considérablement réduit. Sa fonction principale se limite désormais à :

  • Communication serveur à serveur : les agents de transfert de courrier (MTA) utilisent le port 25 pour relayer les messages entre les serveurs de messagerie.
  • Compatibilité avec les systèmes hérités : Certains systèmes de messagerie plus anciens utilisent encore le port 25.

Une simple connexion telnet à un serveur SMTP sur le port 25 pourrait ressembler à ceci :

> telnet smtp.example.com 25Trying 192.0.2.1…

Connected to smtp.example.com.

Escape character is ‘^]’.

220 smtp.example.com ESMTP Postfix

> EHLO client.example.com

250-smtp.example.com

250-PIPELINING

250-SIZE 10240000

250-VRFY

250-ETRN

250-STARTTLS

250-ENHANCEDSTATUSCODES

250-8BITMIME

250 DSN

Notez la ligne 250-STARTTLS, indiquant que ce serveur prend en charge le chiffrement via la commande STARTTLS, mais que cela n'est pas obligatoire.

Cependant, compte tenu de cela, le port 25 présente plusieurs limitations de sécurité importantes :

  • Aucun chiffrement requis : par défaut, les communications via le port 25 ne sont pas chiffrées.
  • STARTTLS optionnel : bien que pris en charge, le chiffrement n’est pas obligatoire.
  • Vulnérables à l'interception : les communications en clair peuvent être facilement lues si elles sont interceptées.
  • Vecteur de spam : Historiquement utilisé pour l'envoi de courriels indésirables

En raison de ces problèmes, notamment de son exploitation par les spammeurs, de nombreux fournisseurs d'accès Internet (FAI) et fournisseurs d'hébergement cloud bloquent désormais le trafic sortant sur le port 25 de leurs clients.

Ce blocage contribue à empêcher l'utilisation de systèmes compromis pour diffuser des spams.

Si vous rencontrez des problèmes de connexion sur le port 25, il est probable que votre fournisseur d'accès Internet le bloque. Un test simple pourrait vous permettre de constater :

> telnet smtp.example.com 25Trying 192.0.2.1…

telnet: Unable to connect to remote host: Connection timed out

Ce blocage est si répandu que le port 25 ne devrait plus être utilisé pour l'envoi de courriels depuis les clients de messagerie. Il devrait être réservé exclusivement aux communications entre serveurs.

Port 465 : Port de chiffrement implicite SSL/TLS

Le port 465 possède peut-être l'histoire la plus complexe parmi les ports SMTP.

Au milieu des années 1990, alors que le besoin de chiffrement des courriels devenait évident, l'Internet Assigned Numbers Authority (IANA) a brièvement attribué le port 465 au « SMTPS » – SMTP sur SSL.

Cependant, cette mission fut de courte durée.

Aux alentours de 1997, l'IETF a opté pour une approche différente afin de sécuriser le protocole SMTP : ajouter la commande STARTTLS au protocole SMTP lui-même, ce qui permettrait de négocier le chiffrement sur les ports existants.

En conséquence, l'affectation officielle du port 465 pour SMTPS a été révoquée après seulement un an environ.

Malgré cette dépréciation officielle, de nombreux services de messagerie avaient déjà implémenté la prise en charge du port 465, et celui-ci continuait d'être largement utilisé. De ce fait, le port 465 était utilisé en pratique même s'il n'était plus officiellement désigné pour le protocole SMTP.

Fonctionnalité TLS implicite

Le port 465 utilise ce que l'on appelle « TLS implicite » ou « SSL implicite » :

  • La connexion commence immédiatement par la négociation SSL/TLS.
  • Aucune partie de la communication ne se fait en texte clair.
  • Si la négociation TLS échoue, la connexion est interrompue.
  • Toutes les commandes SMTP suivantes sont envoyées via le canal chiffré.

Cette approche est similaire au fonctionnement du protocole HTTPS sur le Web : la connexion sécurisée est établie avant toute transmission de données applicatives.

Voici un schéma simplifié du flux de communication pour le port 465 :

  • Le client initie une connexion au serveur sur le port 465
  • La négociation SSL/TLS a lieu
  • Une fois la connexion établie, la communication SMTP commence.
  • Toutes les commandes et données SMTP sont chiffrées.

Aujourd'hui, le port 465 se trouve dans un état curieux :

  • Il n'est pas officiellement reconnu par l'IETF pour le protocole SMTP.
  • Il est largement pris en charge par les fournisseurs de services de messagerie électronique.
  • Il est recommandé par certains fournisseurs de messagerie électronique grand public.
  • Elle assure une sécurité renforcée grâce à son approche TLS implicite.

Le port 465 est approprié pour :

  • Systèmes hérités configurés pour utiliser SMTPS sur ce port
  • Scénarios nécessitant une protection maximale contre les attaques par rétrogradation
  • Situations où un fournisseur de messagerie le recommande spécifiquement

L'Internet Assigned Numbers Authority a maintenant réattribué le port 465 à un service différent (« URL Rendezvous Directory for SSM »), bien qu'en pratique il continue d'être principalement utilisé pour le protocole SMTP sécurisé.

Port 587 : Le port de soumission moderne

En 1998, la RFC 2476 (remplacée ultérieurement par la RFC 6409) a introduit le concept d'un port dédié à la « soumission des messages », distinct du port de relais SMTP. Cette séparation répondait au besoin croissant de distinguer deux types de trafic SMTP :

  • Envoi de messages : Les clients de messagerie envoient des messages à leur serveur de messagerie.
  • Relais de messages : serveurs de messagerie transférant des messages vers d’autres serveurs de messagerie

Le port 587 a été désigné pour l'envoi de ces messages, ce qui le distingue clairement de la fonction de relais du port 25. Cette séparation a permis d'appliquer des politiques et des exigences de sécurité différentes à chaque type de trafic.

Capacités STARTTLS

Le port 587 utilise le protocole TLS explicite via la commande STARTTLS. Voici comment cela fonctionne :

  1. Le client se connecte au serveur sur le port 587
  2. Le serveur s'identifie et liste ses extensions prises en charge.
  3. Le client émet la commande STARTTLS
  4. Le serveur répond et la négociation TLS commence.
  5. Une fois la négociation réussie, la session SMTP est chiffrée.
  6. Le client s'authentifie généralement via SMTP AUTH
  7. L'envoi par courriel se déroule dans le canal crypté.

Une session SMTP typique utilisant le port 587 avec STARTTLS pourrait ressembler à ceci :

> telnet smtp.example.com 587Trying 192.0.2.1…

Connected to smtp.example.com.

Escape character is ‘^]’.

220 smtp.example.com ESMTP Postfix

> EHLO client.example.com

250-smtp.example.com

250-PIPELINING

250-SIZE 10240000

250-VRFY

250-ETRN

250-STARTTLS

250-AUTH PLAIN LOGIN

250-ENHANCEDSTATUSCODES

250-8BITMIME

250 DSN

> STARTTLS

220 2.0.0 Ready to start TLS

… (TLS negotiation occurs) …

> EHLO client.example.com

250-smtp.example.com

250-PIPELINING

250-SIZE 10240000

250-VRFY

250-ETRN

250-AUTH PLAIN LOGIN

250-ENHANCEDSTATUSCODES

250-8BITMIME

250 DSN

> AUTH LOGIN

334 VXNlcm5hbWU6

dXNlcm5hbWU=

334 UGFzc3dvcmQ6

cGFzc3dvcmQ=

235 2.7.0 Authentication successful

Remarquez comment la communication SMTP commence en texte clair mais passe au chiffrement TLS après l'émission de la commande STARTTLS.

Dans la plupart des cas, le port 587 sera votre port de prédilection.

Elle s'est imposée comme la norme recommandée pour l'envoi de courriels pour plusieurs raisons convaincantes :

  • Norme officielle : il est reconnu par l’IETF comme le port approprié pour l’envoi de messages.
  • Large compatibilité : La plupart des fournisseurs de messagerie modernes prennent en charge le port 587.
  • Compatibilité avec les FAI : Il est moins susceptible d’être bloqué par les FAI que le port 25.
  • Sécurité et flexibilité : Prend en charge un chiffrement robuste tout en maintenant la rétrocompatibilité
  • Authentification requise : impose généralement l’authentification SMTP, réduisant ainsi le spam.

Pour la grande majorité des utilisateurs et des organisations qui mettent en place de nouveaux systèmes de messagerie électronique, le port 587 devrait être le choix par défaut pour l'envoi des messages.

Port 2525 : L’option alternative

Le port 2525 n'est pas un port SMTP officiellement désigné par l'IANA ni par l'IETF. Il est apparu comme une alternative pratique lorsque les ports standard (25, 465 et 587) sont bloqués par les fournisseurs d'accès Internet ou les réseaux d'entreprise.

Sur le plan fonctionnel, le port 2525 fonctionne généralement de manière identique au port 587 :

  • Il prend en charge STARTTLS pour le chiffrement
  • L'authentification via SMTP AUTH est requise.
  • Il sert à l'envoi de messages, pas à leur relais.

La principale différence réside simplement dans le numéro de port lui-même, ce qui permet de contourner les restrictions du réseau.

Le port 2525 doit être pris en compte dans les scénarios suivants :

  • Lors de la connexion à partir de réseaux qui bloquent les ports 25, 465 et 587
  • Dans les environnements d'entreprise dotés de politiques de pare-feu strictes
  • Lors de l'utilisation de fournisseurs de cloud qui restreignent les ports de messagerie standard
  • Si vous rencontrez régulièrement des problèmes de connexion avec les ports standard

De nombreux fournisseurs de services de messagerie, dont Mailgun, SendGrid et d'autres, prennent en charge le port 2525 spécifiquement pour offrir cette option de repli à leurs clients.

Comment choisir le bon port SMTP du point de vue de la sécurité

Illustration d'un développeur réfléchissant au port de messagerie qu'il devrait utiliser dans son projet

Parlons sécurité car, du point de vue d'un développeur, c'est l'un de vos aspects les plus importants. Plusieurs options s'offrent à vous.

STARTTLS (TLS explicite)

STARTTLS, utilisé principalement sur les ports 25 et 587, fournit un « chiffrement opportuniste » grâce à ces étapes :

  • La connexion commence sans chiffrement.
  • Le client émet la commande STARTTLS
  • Si le serveur le prend en charge, le chiffrement est négocié.
  • La communication se poursuit chiffrée. Le chiffrement des communications est en cours.

Avantages :

  • Compatibilité ascendante avec les serveurs non TLS
  • Fonctionne avec les ports et infrastructures existants

Inconvénients :

  • La communication initiale n'est pas chiffrée.
  • Vulnérable aux attaques de rétrogradation où un attaquant empêche la commande STARTTLS
  • Tous les serveurs n'exigent pas TLS, ce qui permet une solution de repli en texte clair.

TLS implicite

Le protocole TLS implicite, utilisé sur le port 465, adopte une approche différente :

  • La connexion commence immédiatement par une négociation TLS.
  • Si la négociation TLS échoue, la connexion est interrompue.
  • Aucune communication non cryptée ne se produit jamais.

Avantages :

  • Aucune communication en texte clair à aucun moment
  • Impossible de revenir à une connexion non chiffrée
  • Protection renforcée contre les attaques de type « homme du milieu »

Inconvénients :

  • Non compatible avec les serveurs ne prenant pas en charge TLS.
  • Il ne s'agit pas de l'approche standard officielle de l'IETF.

Exigences d'authentification

L'authentification est un élément de sécurité essentiel qui vérifie l'identité du client expéditeur. Les exigences d'authentification varient selon le port :

Port 25:

  • L'authentification est souvent facultative.
  • Permet fréquemment le relais non authentifié entre serveurs
  • Peut autoriser l'envoi de messages anonymes sur certains serveurs

Port 465:

  • Une authentification est généralement requise.
  • Généralement appliqué après l'établissement du chiffrement TLS
  • Autorise rarement la soumission de messages anonymes

Port 587:

  • Authentification requise par la norme
  • Appliqué après le chiffrement STARTTLS
  • Spécialement conçu pour la soumission authentifiée

Port 2525:

  • Les exigences d'authentification correspondent au port 587
  • L'authentification est requise pour l'envoi des messages.

Il convient de noter que les serveurs de messagerie modernes doivent toujours exiger une authentification pour l'envoi des messages, quel que soit le port, afin d'éviter les abus.

Caractéristique Port 25 Port 465 Port 587 Port 2525
Utilisation principale Relais serveur à serveur Envoi sécurisé des messages Soumission de message soumission alternative
Type de chiffrement STARTTLS optionnel TLS implicite DÉMARRAGES DÉMARRAGES
Connexion initiale Non chiffré Encrypted Non chiffré Non chiffré
Risque d'attaque par rétrogradation Haute Low Moyenne Moyenne
Authentification Optionnel Requis Requis Requis
Probabilité de blocage par le FAI Haute Moyenne Low Low
Norme IETF Oui (pour relais) Non Oui (pour soumission) Non
Recommandé pour Uniquement de serveur à serveur Systèmes Clients modernes Lorsque d'autres sont bloqués

Meilleures pratiques pour une sécurité maximale du courrier électronique

Pour garantir le plus haut niveau de sécurité des e-mails lors de la configuration du protocole SMTP :

  1. Utilisez toujours le chiffrement :
  • Configurez vos serveurs pour exiger le protocole TLS pour toutes les connexions.
  • Désactiver l'authentification en texte clair
  • Utilisez des versions TLS robustes (TLS 1.2 ou supérieur).
  1. Mettez en œuvre une authentification forte :
  • Exiger une authentification SMTP pour tous les envois de messages
  • Utilisez un stockage sécurisé des mots de passe (hachage avec sel).
  • Envisagez la mise en place d'une authentification à deux facteurs pour les comptes de messagerie.
  1. Restez à jour en matière de certifications :
  • Utilisez des certificats signés par une autorité de certification de confiance.
  • Renouvelez régulièrement vos certificats SSL/TLS
  • Surveiller les vulnérabilités des certificats
  1. Configurez les en-têtes et les politiques appropriés :
  • Mettez en œuvre SPF, DKIM et DMARC pour l'authentification.
  • Configurez les en-têtes HSTS appropriés
  • Configurez les serveurs de messagerie pour qu'ils rejettent les connexions non chiffrées.
  1. Surveillance et audit :
  • Consignez toutes les transactions SMTP.
  • Examinez régulièrement les journaux pour détecter toute activité suspecte.
  • Testez régulièrement la configuration de sécurité de votre messagerie.

Comment implémenter les ports SMTP

Illustration d'un développeur réfléchissant à la meilleure façon de configurer ses ports SMTP pour l'envoi de courriels.

Il s'agit maintenant de choisir les ports les plus adaptés à votre projet. Nous pouvons détailler ce choix en fonction des cas d'utilisation afin que vous trouviez la solution idéale.

Pour les utilisateurs individuels et les clients de messagerie

Si vous configurez un client de messagerie comme Outlook, Apple Mail ou Thunderbird :

  1. Premier choix : Port 587 avec STARTTLS
  • Largement soutenu et peu susceptible d'être bloqué
  • Exemple de configuration pour Gmail dans Outlook :
  • Serveur de messagerie sortante : smtp.gmail.com
  • Port : 587
  • Chiffrement : STARTTLS
  • Authentification : Oui, avec nom d’utilisateur et mot de passe
  1. Deuxième option : le port 465 avec SSL/TLS
  • Si votre fournisseur le recommande spécifiquement
  • Exemple de configuration pour Yahoo Mail :
  • Serveur de messagerie sortante : smtp.mail.yahoo.com
  • Port : 465
  • Cryptage : SSL/TLS
  • Authentification : Oui, avec nom d’utilisateur et mot de passe
  1. Dernier recours : Port 2525 avec STARTTLS
  • Uniquement si les ports 587 et 465 sont bloqués
  • Tous les fournisseurs ne prennent pas en charge ce port, veuillez donc consulter la documentation.

Pour les applications professionnelles et les expéditeurs à volume élevé

Pour les applications envoyant des e-mails transactionnels ou marketing :

Recommandé : Port 587

  • Meilleur équilibre entre délivrabilité et sécurité
  • Compatible avec tous les principaux fournisseurs de services de messagerie électronique
  • Exemple d'application Node.js utilisant Nodemailer :

const nodemailer = require(‘nodemailer’);let transporter = nodemailer.createTransport({

host: ‘smtp.example.com’,

port: 587,

secure: false, // true for 465, false for other ports

auth: {

user: ‘username’,

pass: ‘password’

},

tls: {

// do not fail on invalid certs

rejectUnauthorized: false

}

});

Alternative : Port 465

  • Pour les fournisseurs qui le recommandent spécifiquement
  • Exemple en PHP utilisant PHPMailer :

<?php
use PHPMailerPHPMailerPHPMailer;

require ‘vendor/autoload.php’;

$mail = new PHPMailer;

$mail->isSMTP();

$mail->Host = ‘smtp.example.com’;

$mail->SMTPAuth = true;

$mail->Username = ‘username’;

$mail->Password = ‘password’;

$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // SSL encryption

$mail->Port = 465;

?>

Option de sauvegarde : Port 2525

  • Lors du déploiement sur des plateformes qui bloquent les ports standard
  • Exemple en Python utilisant smtplib :

import smtplibimport ssl

from email.message import EmailMessage

msg = EmailMessage()

msg.set_content(“This is a test email.”)

msg[‘Subject’] = ‘Test Email’

msg[‘From’] = ‘[email protected]

msg[‘To’] = ‘[email protected]

context = ssl.create_default_context()

with smtplib.SMTP(‘smtp.example.com’, 2525) as server:

server.starttls(context=context)

server.login(‘username’, ‘password’)

server.send_message(msg)

Pour la communication serveur à serveur

Pour la configuration du serveur de messagerie gérant le trafic de relais :

Norme : Port 25

  • Utilisé pour la communication entre les MTA
  • Il convient de le configurer avec STARTTLS lorsque cela est possible.
  • Exemple de configuration Postfix dans /etc/postfix/main.cf :

# Outgoing relay settingsrelayhost = [mail.example.com]:25

smtp_tls_security_level = may

smtp_tls_note_starttls_offer = yes

Solution alternative si le port 25 est bloqué : configuration personnalisée

  • Certains fournisseurs autorisent le relais sur des ports alternatifs
  • Exemple :

# Using alternative port for relayrelayhost = [mail.example.com]:587

smtp_tls_security_level = encrypt

smtp_sasl_auth_enable = yes

smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

smtp_sasl_security_options = noanonymous

Exemples de configuration pour les serveurs de messagerie courants

Configuration de Postfix (Linux)

Pour configurer Postfix afin de sécuriser l'envoi SMTP sur le port 587 :

  1. Modifier le fichier /etc/postfix/master.cf :

# SMTP submission on port 587submission inet n – y – – smtpd

-o syslog_name=postfix/submission

-o smtpd_tls_security_level=encrypt

-o smtpd_sasl_auth_enable=yes

-o smtpd_tls_auth_only=yes

-o smtpd_client_restrictions=permit_sasl_authenticated,reject

-o milter_macro_daemon_name=ORIGINATING

  1. Modifiez le fichier /etc/postfix/main.cf pour configurer TLS :

# TLS parameterssmtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

smtpd_tls_security_level=may

smtpd_tls_protocols = !SSLv2, !SSLv3

smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3

  1. Redémarrer Postfix :
sudo systemctl restart postfix

Microsoft Exchange Server

Pour configurer Exchange Server pour l'envoi sécurisé de paquets SMTP :

  1. Ouvrez le Centre d'administration Exchange
  2. Accédez à Flux de messagerie > Connecteurs de réception
  3. Créer ou modifier un connecteur pour la soumission client
  4. Configurez le connecteur comme suit :
  • Écouter sur le port 587
  • Exiger le chiffrement TLS
  • Authentification requise
  • Définissez les groupes d'autorisations appropriés (généralement « Utilisateurs Exchange »).

Tests de connectivité des ports et dépannage

Pour tester la connectivité à un serveur SMTP sur un port spécifique, vous pouvez utiliser des outils en ligne de commande simples :

Using Telnet:# Testing port 587

telnet smtp.example.com 587

# You should see something like:

Trying 192.0.2.1…

Connected to smtp.example.com.

Escape character is ‘^]’.

220 smtp.example.com ESMTP ready

Using OpenSSL for TLS testing:

# Testing STARTTLS on port 587

openssl s_client -starttls smtp -crlf -connect smtp.example.com:587

# Testing implicit TLS on port 465

openssl s_client -connect smtp.example.com:465

Using a dedicated SMTP testing tool like swaks:

# Basic SMTP test with authentication

swaks –server smtp.example.com –port 587 –tls –auth-user username –auth-password password –to [email protected] –from [email protected]

Problèmes courants liés aux ports SMTP et leurs solutions

Délais de connexion dépassés et échecs d'authentification

Problème : Délais de connexion dépassés

Symptômes:

  • Impossible d'établir une connexion au serveur SMTP
  • Le client signale des erreurs de « délai de connexion dépassé ».
  • L'envoi des courriels semble bloqué indéfiniment.

Causes possibles:

  1. FAI ou réseau bloquant le port
  2. Restrictions du pare-feu
  3. Le serveur est hors service ou inaccessible.
  4. Adresse du serveur incorrecte

Solutions:

  1. Essayez un autre port (587, 465 ou 2525).
  2. Vérifiez les paramètres du pare-feu et les politiques réseau.
  3. Vérifiez que l'adresse du serveur est correcte.
  4. Effectuez un test sur un réseau différent afin d'isoler les problèmes de blocage du FAI.
  5. Augmentez le délai d'expiration de la connexion dans votre client de messagerie.

Problème : Échecs d'authentification

Symptômes:

  • Connexion établie, mais l'authentification a échoué.
  • Messages d'erreur tels que « 535 Échec de l'authentification » ou « Nom d'utilisateur/mot de passe invalide »
  • Impossible d'envoyer de courriel malgré une connexion établie

Causes possibles:

  1. identifiant ou mot de passe incorrect
  2. Méthode d'authentification incompatible
  3. Restrictions de compte ou politiques de sécurité
  4. Les exigences TLS/SSL ne sont pas satisfaites avant l'authentification.

Solutions:

  1. Vérifiez que les informations d'identification sont correctes et à jour.
  2. Vérifiez les méthodes d'authentification prises en charge par le serveur (PLAIN, LOGIN, CRAM-MD5).
  3. Assurez-vous que le chiffrement est correctement configuré avant l'authentification.
  4. Pour les comptes Google et Microsoft, vous aurez peut-être besoin d'un mot de passe spécifique à l'application ou pour activer des applications moins sécurisées.
  5. Vérifiez les restrictions de compte ou les limitations d'adresse IP.

Blocage des ports par les FAI et les réseaux

Le blocage des ports est de plus en plus fréquent, notamment pour le port 25 :

Identification du blocage des ports

Signes indiquant que vous rencontrez un blocage de port :

  • Des délais d'attente de connexion se produisent régulièrement.
  • Les autres services Internet fonctionnent normalement.
  • Le problème persiste avec différents clients de messagerie.
  • Des problèmes surviennent sur un réseau mais pas sur les autres.

Test de blocage de port :

# Use telnet to test connectivitytelnet smtp.example.com 25

# If blocked, you’ll see no response or a timeout

# If open, you’ll see the server’s greeting banner

Solutions pour le blocage des ports

  1. Passez à un autre port :
  • Essayez le port 587 pour l'envoi de messages.
  • Si cela ne fonctionne pas, essayez le port 465.
  • En dernier recours, essayez le port 2525.
  1. Utilisez un VPN ou un réseau différent :
  • Les réseaux mobiles peuvent avoir des politiques différentes de celles des fournisseurs d'accès Internet résidentiels.
  • Les réseaux d'entreprise peuvent acheminer les données via un hôte intelligent.
  1. Contactez votre FAI :
  • Certains fournisseurs d'accès Internet débloqueront le port 25 pour leurs clients professionnels.
  • Soyez prêt à expliquer votre besoin légitime
  1. Utilisez un hôte intelligent ou un relais :
  • Configurez votre serveur de messagerie pour qu'il relaie les messages via le serveur SMTP de votre FAI.
  • Utilisez un service de messagerie tiers

Problèmes de négociation TLS

Les problèmes liés au protocole TLS peuvent être subtils et difficiles à résoudre :

Problèmes courants liés au protocole TLS

  1. Échecs de validation des certificats :
  • Le certificat du serveur a expiré.
  • Le certificat ne provient pas d'une autorité reconnue.
  • Le nom d'hôte du certificat ne correspond pas au nom du serveur.
  • Le client et le serveur ne parviennent pas à s'accorder sur les suites de chiffrement.
  1. Incompatibilités de versions de protocole :
  • Le client utilisant une version TLS plus récente que celle du serveur est pris en charge
  • Le serveur requiert une version TLS plus récente que celle prise en charge par le client.
  • Implémentations TLS obsolètes présentant des vulnérabilités

Diagnostic des problèmes TLS

Utilisez OpenSSL pour inspecter la négociation TLS :

# For port 587 with STARTTLSopenssl s_client -starttls smtp -connect smtp.example.com:587 -tls1_2

# For port 465 with implicit TLS

openssl s_client -connect smtp.example.com:465 -tls1_2

# Look for these in the output:

# – Certificate information and expiration

# – Certificate chain validation

# – TLS version and cipher used

Résolution des problèmes TLS

  1. Solutions côté serveur :
  • Mise à jour des certificats SSL/TLS
  • Configurer les chaînes de certificats appropriées
  • Prise en charge des versions modernes de TLS (1.2, 1.3)
  • Désactiver les suites de chiffrement non sécurisées
  1. Solutions côté client :
  • Mettez à jour votre client de messagerie ou vos bibliothèques pour prendre en charge le protocole TLS moderne.
  • Configurez le client pour qu'il fasse confiance à l'autorité de certification du serveur.
  • Ajustez les paramètres de sécurité TLS si nécessaire.
  1. Solutions de contournement temporaires (à utiliser avec précaution) :
  • Désactiver la validation des certificats uniquement pour les tests
  • Essayez différentes versions de TLS pour isoler les problèmes de compatibilité.

Au-delà du protocole SMTP : Protocoles de messagerie connexes

Une personne est assise devant un ordinateur, des flèches pointant vers les icônes SMTP, IMAP et POP3.

Le protocole SMTP n'est pas le seul système lié à la messagerie électronique. Il est important de comprendre le reste du système afin de concevoir des solutions performantes, durables et efficaces. Voici un guide rapide des autres éléments à prendre en compte.

Alors que le protocole SMTP gère l'envoi des courriels, la réception des courriels nécessite des protocoles différents :

POP3 (version 3 du protocole de bureau de poste)

POP3 est l'un des plus anciens protocoles de récupération de courriels :

  • Fonction : Téléverse les messages du serveur vers le client
  • Ports par défaut : 110 (non chiffré) et 995 (SSL/TLS)
  • Comportement : Supprime généralement les messages du serveur après le téléchargement.
  • Idéal pour : Accès à un seul appareil avec un espace de stockage serveur limité

Une session POP3 simple pourrait ressembler à ceci :

> telnet mail.example.com 110+OK POP3 server ready

> USER username

+OK

> PASS password

+OK Logged in

> LIST

+OK 2 messages

1 1425

2 32360

> RETR 1

+OK 1425 octets

(… message content …)

> QUIT

+OK Logging out

IMAP (protocole d'accès aux messages Internet)

IMAP est un protocole plus sophistiqué pour accéder aux boîtes aux lettres :

  • Fonction : Synchronise les messages entre le serveur et les clients
  • Ports par défaut : 143 (non chiffré) et 993 (SSL/TLS)
  • Comportement : Conserve les messages sur le serveur, permettant un accès multi-appareils
  • Idéal pour : L'accès à la même boîte aux lettres depuis plusieurs appareils

Une session IMAP pourrait commencer :

> telnet mail.example.com 143* OK IMAP4rev1 Server Ready

> A001 LOGIN username password

* OK Logged in

> A002 SELECT INBOX

* 18 EXISTS

* 2 RECENT

* OK [UNSEEN 17] Message 17 is first unseen

* OK [UIDVALIDITY 1428913542] UIDs valid

* FLAGS (Answered Flagged Deleted Seen Draft)

* OK [PERMANENTFLAGS (Answered Flagged Deleted Seen Draft *)] Limited

A002 OK [READ-WRITE] SELECT completed

Comment ces protocoles interagissent avec SMTP

Le parcours complet d'un e-mail implique plusieurs protocoles fonctionnant de concert :

  1. Composition et envoi (SMTP) :
  • L'utilisateur rédige un courriel
  • Le client de messagerie envoie les données via SMTP au serveur de soumission
  • Le message est relayé via SMTP vers le serveur de messagerie du destinataire.
  1. Stockage et récupération (POP3/IMAP) :
  • Le serveur du destinataire stocke le message entrant
  • Le destinataire se connecte via POP3 ou IMAP pour accéder à sa boîte aux lettres.
  • Les messages sont téléchargés (POP3) ou synchronisés (IMAP).
  1. Réponse (SMTP à nouveau) :
  • Le destinataire répond au message
  • Leur client envoie la réponse via SMTP
  • Le cycle se poursuit

Configurations de ports pour un système de messagerie complet

La configuration complète d'un serveur de messagerie nécessite plusieurs ports :

Services Passerelle Port non crypté Port chiffré Méthode de chiffrement
Envoi de courrier SMTP (relais) 25 25 DÉMARRAGES
Soumission par courrier SMTP 587 587 DÉMARRAGES
Soumission sécurisée SMTPS N/D 465 TLS implicite
Récupération du courrier POP3 110 995 TLS implicite
Accès au courrier IMAP 143 993 TLS implicite

La mise en place d'un serveur de messagerie complet nécessite la configuration appropriée de tous ces ports pour les fonctionnalités d'envoi et de réception.

Emballage en place

Après avoir exploré les complexités des ports SMTP, plusieurs lignes directrices claires se dégagent :

  1. Le port 587 reste la norme recommandée pour l'envoi de courriels :
  • Il assure une transmission sécurisée via STARTTLS
  • Il est largement soutenu et moins fréquemment bloqué.
  • Elle respecte les normes établies par l'IETF.
  1. Le port 25 doit être réservé exclusivement à la communication entre serveurs :
  • Il est fréquemment bloqué pour les connexions clientes
  • De nombreuses implémentations ne comportent pas de mesures de sécurité obligatoires.
  • Il s'agit du port standard pour le transfert de courrier électronique entre serveurs
  1. Le port 465 offre une alternative pour l'envoi sécurisé :
  • Il offre un protocole TLS implicite qui empêche les attaques par rétrogradation.
  • Cela peut être nécessaire pour les systèmes existants.
  • Il offre une bonne sécurité, mais n'est pas conforme à la norme IETF.
  1. Le port 2525 fonctionne comme solution de repli :
  • Il contourne les blocs de ports courants
  • Ce n'est pas normalisé, mais c'est largement soutenu.
  • Il ne devrait être utilisé que lorsque les ports standard ne sont pas disponibles.

Voici nos recommandations de ports pour différents utilisateurs de messagerie :

Pour les utilisateurs individuels :

  • Configurez les clients de messagerie pour utiliser le port 587 avec STARTTLS.
  • Assurez-vous que l'authentification appropriée est activée.
  • N'utilisez le port 465 que si votre fournisseur de messagerie le recommande expressément.

Pour les administrateurs de messagerie professionnelle :

  • Configurez les serveurs de messagerie pour accepter les soumissions sur le port 587.
  • Exiger le chiffrement et l'authentification TLS
  • Utilisez le port 25 uniquement pour le relais serveur à serveur avec TLS activé.
  • Maintenez à jour toutes les mesures de sécurité et tous les certificats.

Pour les développeurs intégrant la fonctionnalité de messagerie électronique :

  • Configurez le port 587 comme port SMTP par défaut.
  • Inclure des options de repli vers d'autres ports (465, 2525)
  • Utilisez toujours l'authentification et le chiffrement.
  • Restez au fait des meilleures pratiques en matière de sécurité

Pour les fournisseurs de services de messagerie :

  • Prise en charge des ports 587 et 465 pour une compatibilité maximale
  • Proposez le port 2525 comme solution de repli.
  • Mettre en place une sécurité renforcée sur tous les ports
  • Gardez une longueur d'avance sur les normes et pratiques de sécurité émergentes.

En suivant ces bonnes pratiques et en restant informé, vous pouvez garantir que votre infrastructure de messagerie reste à la fois sécurisée et fiable, assurant la bonne distribution des messages tout en protégeant les informations sensibles contre l'interception ou la compromission.

Le courrier électronique demeure l'un de nos outils de communication les plus importants, et la compréhension des nuances des ports SMTP est essentielle pour toute personne gérant des systèmes de messagerie.

Les protocoles et les ports que nous avons explorés représentent des décennies d'évolution des normes Internet, s'adaptant aux menaces croissantes en matière de sécurité tout en maintenant l'interopérabilité qui rend le courrier électronique si universel.

Questions fréquemment posées

Réponses aux questions fréquentes sur ce sujet.
01

Un logiciel antivirus peut-il bloquer les ports SMTP ?

Oui. Certains antivirus et outils de sécurité intègrent des pare-feu ou des fonctions d'analyse des e-mails capables de bloquer ou de restreindre les ports SMTP, notamment les ports 25, 465 et 587. Si l'envoi d'e-mails échoue, vérifiez les règles de votre pare-feu antivirus ou désactivez temporairement l'analyse des e-mails pour voir si cela résout le problème.

02

Les ports SMTP sont-ils différents pour Gmail, Outlook ou d'autres fournisseurs ?

Les numéros de port sont standardisés, mais les fournisseurs peuvent recommander des configurations différentes. La plupart des services, dont Gmail et Outlook, utilisent le port 587 pour l'envoi sécurisé des e-mails, tandis que le port 465 peut également être utilisé pour les connexions SSL/TLS. Il est toujours conseillé de vérifier les paramètres SMTP de votre fournisseur afin de confirmer l'adresse du serveur et la méthode de sécurité appropriées.