C’est une question fréquente que nous recevons ici à Mailgun au sujet des numéros de port SMTP. Pour assurer la connectivité à notre point de terminaison Simple Mail Transfer Protocol (SMTP), Mailgun offre plusieurs options de port SMTP, mais lequel devez-vous utiliser pour envoyer des messages électroniques ? Nous allons jeter un coup d’œil historique sur chaque port SMTP, puis nous discuterons de la méthodologie actuelle d’utilisation du courrier sortant. Si vous n’êtes pas féru d’histoire, rendez-vous à la rubrique » Quel port SMTP devez-vous utiliser ? » pour connaître les ports SMTP les plus courants.
Qu’est-ce qu’un port SMTP ?
Avant notre voyage dans l’histoire, nous allons clarifier quelques définitions de base.
SMTP signifie Simple Mail Transfer Protocol – en termes simples, c’est le processus par lequel les e-mails sont envoyés sur Internet. Les ports informatiques sont la façon dont les ordinateurs individuels se connectent à un réseau et complètent les processus électroniques. Un port SMTP est une combinaison des deux : un port conçu pour envoyer des e-mails à travers un réseau et à son destinataire.
Bien sûr, tout comme il existe de multiples ports informatiques, il existe de nombreux ports SMTP qui peuvent être utilisés. Jetons un coup d’œil à leur développement.
Ports SMTP : Une perspective historique
En 1982, l’Université de Californie du Sud a soumis une proposition à l’Internet Engineering Task Force (IETF). La demande de commentaires (RFC) 821 a été publiée, établissant le port 25 comme canal de transmission par défaut pour le courrier électronique sur Internet. 30 ans plus tard, nous utilisons toujours le port 25 comme principal moyen de transmission du courrier électronique entre deux serveurs de messagerie. Quelques RFC ont rendu obsolète le RFC SMTP initial. Cependant, la base des connexions SMTP reste la même ou similaire.
En décembre 1998, R. Gellens et J. Klensin ont soumis le RFC 2476 en faveur de l’ajout d’une nouvelle spécification pour les communications de courrier électronique sur Internet. Le RFC a proposé une scission du concept traditionnel de soumission de message et de relais de message. Le RFC a défini que la soumission des messages devait se produire sur le port 587 pour s’assurer que les nouvelles exigences en matière de politique et de sécurité n’interfèrent pas avec le trafic de relais traditionnel sur le port de relais de messages 25.
Qu’en est-il du port 465 ?
Intéressant, le port 465 n’a jamais été publié comme canal officiel de transmission ou de soumission SMTP par l’IETF. Au lieu de cela, l’Internet Assigned Numbers Authority (IANA), qui maintient une grande partie de l’infrastructure Internet de base, a enregistré le port 465 pour SMTPS. L’objectif était d’établir un port permettant au SMTP de fonctionner en utilisant le protocole SSL (Secure Sockets Layer). SSL est couramment utilisé pour crypter les communications sur Internet.
Le port a été attribué pendant environ un an lorsqu’il a été révoqué en faveur de la sécurisation des communications SMTP à l’aide de Transport Layer Security (TLS). Le clou du cercueil a été une nouvelle commande de protocole « STARTTLS », introduite dans la RFC 2487. Cette commande permet aux serveurs SMTP de communiquer sur les ports existants en indiquant si le serveur de destination prend en charge le cryptage TLS. Si c’est le cas, le serveur d’envoi peut mettre à niveau la connexion à l’aide de la commande SMTP « STARTTLS ».
Mailgun prend en charge les connexions TLS, ce que vous pouvez vérifier en vous connectant et en émettant un « ehlo » depuis une interface de ligne de commande. Le « 250 STARTTLS » qui en résulte confirme que le point de terminaison accepte les demandes de connexion TLS.
> telnet smtp.mailgun.org 587
2Trying 50.56.21.178...
3Connecté à smtp.mailgun.org.
4Le caractère d'échappement est '^]'.
5220 ak47 ESMTP ready
> ehlo blog.mailgun.com
7250-ak47
8250-AUTH PLAIN LOGIN
9250-SIZE 52428800
10250-8BITMIME
11250-ENHANCEDSTATUSCODES
12250 STARTTLS
Vous pouvez tester en utilisant la même séquence de commande sur n’importe quel serveur SMTP. Essayez Gmail ou Yahoo, « telnet gmail-smtp-in.l.google.com 25 » ou « telnet mta7.am0.yahoodns.net 25 ».
Quel port SMTP devez-vous utiliser ?
Et aujourd’hui ? En quoi ces ports standard sont-ils différents ? Certains ont-ils été dépréciés au fil du temps ?
Port 25:
Le port SMTP 25 continue d’être utilisé principalement pour le relais SMTP. Le relais SMTP est la transmission du courrier électronique d’un serveur de messagerie à un serveur de messagerie.
Dans la plupart des cas, les clients de messagerie SMTP modernes (Microsoft Outlook, Mail, Thunderbird, etc.) ne devraient pas utiliser ce port. Il est traditionnellement bloqué par les FAI résidentiels et les fournisseurs d’hébergement cloud, afin de freiner la quantité de spam relayé par des ordinateurs ou des serveurs compromis. À moins que vous ne gériez spécifiquement un serveur de messagerie, vous ne devriez avoir aucun trafic traversant ce port sur votre ordinateur ou serveur.
Port 465:
L’IANA a réaffecté un nouveau service à ce port, et il ne devrait plus être utilisé pour les communications SMTP.
Toutefois, parce qu’il était autrefois reconnu par l’IANA comme valide, il peut y avoir des systèmes hérités qui sont uniquement capables d’utiliser cette méthode de connexion. Typiquement, vous n’utiliserez ce port que si votre application l’exige. Une recherche rapide sur Google et vous trouverez de nombreux articles de fournisseurs de services de boîtes de réception (ISP) qui suggèrent le port 465 comme la configuration recommandée. Cependant, nous ne le recommandons pas, car il n’est pas conforme à la RFC.
Port 587:
C’est le port de soumission de courrier par défaut. Lorsqu’un client de messagerie ou un serveur sortant soumet un courrier électronique pour qu’il soit acheminé par un serveur de messagerie approprié, il doit toujours utiliser le port SMTP 587 comme port par défaut.
Ce port, associé au cryptage TLS, garantira que le courrier électronique est soumis en toute sécurité et en suivant les directives définies par l’IETF.
Tous les clients de Mailgun devraient envisager d’utiliser le port 587 comme port SMTP par défaut, sauf si vous êtes explicitement bloqué par votre réseau en amont ou votre fournisseur d’hébergement.
Port 2525:
Ce port n’est pas approuvé par l’IETF ni par l’IANA. Au lieu de cela, Mailgun le fournit comme un port alternatif, qui reflète le port 587, dans le cas où les ports ci-dessus sont bloqués. Comme 2525 est un numéro de port élevé non traditionnel, il est généralement autorisé sur les FAI grand public et les fournisseurs d’hébergement en nuage, comme Google Compute Engine. Si vous avez essayé les ports ci-dessus, mais que vous rencontrez des problèmes de connectivité, essayez le port 2525. Ce port prend également en charge le cryptage TLS.
Attendez, qu’en est-il de POP et IMAP ?
POP (Post Office Protocol, dont la dernière version est POP3) et IMAP (Internet Message Access Protocol) sont deux des tout premiers protocoles développés sur l’Internet grand public qui permettaient aux clients de messagerie – comme Outlook, Thunderbird et d’autres – de récupérer le courrier d’un serveur de messagerie.
Les ports généralement utilisés pour POP sont les ports TCP 110 et 995, et pour IMAP les ports TCP 143 et 993, respectivement pour les sessions non sécurisées et sécurisées. Ils étaient chacun bons pour faire des choses différentes, comme refléter l’état d’un courriel en retour au serveur (s’il a été lu, signalé ou marqué comme indésirable), ou pour préserver une copie du message sur une machine locale pour un accès hors ligne facile. La dernière version de POP, POP3, peut être utilisée avec ou sans SMTP.
Cela n’affecte pas le port que vous pouvez utiliser avec Mailgun. Mailgun n’héberge pas de boîtes aux lettres, donc ce ne sont pas des protocoles que nous supportons.
Utiliser SMTP avec Mailgun
Le SMTP existe depuis des années, et beaucoup de gens nous demandent s’ils doivent utiliser le SMTP ou le point de terminaison API de Mailgun. Décider si vous devez utiliser une API de messagerie ou SMTP pour envoyer vos emails pourrait ne pas être un choix facile.
Nous reconnaissons certainement qu’il y a un certain niveau de verrouillage du fournisseur associé à la construction autour d’une API. Cependant, SMTP est extrêmement « bavard » et peut conduire à une soumission de courrier moins performante à Mailgun.
Par exemple, considérez la conversation de courrier TLS typique entre mon ordinateur et le point de terminaison SMTP de Mailgun:
> openssl s_client -starttls smtp -crlf -connect smtp.mailgun.org:587
2250 STARTTLS
> ehlo blog.mailgun.com
4250-ak47
5250-AUTH PLAIN LOGIN
6250-SIZE 52428800
7250-8BITMIME
8250-ENHANCEDSTATUSCODES
> AUTH PLAIN AHBvc3RtYXN0ZXJAc2FtcGxlcy5tYWlsZ3VuLm9yZwAza2g5dW11am9yYTU=
10235 2.0.0 OK
> MAIL FROM :<[email protected]>
12250 Adresse de l'expéditeur acceptée
> RCPT TO :<[email protected]>
14250 Adresse du destinataire acceptée
> DATA
16354 Continue
> Ceci est un test du SMTP sur le port 587.
> .
19250 Grand succès
> QUITTER
21221 A plus tard. Bien à vous, Mailgun
Comme vous pouvez le constater, la communication ci-dessus est assez lourde avec beaucoup d'allers-retours entre l'expéditeur et le destinataire. Nous ouvrons une connexion au serveur SMTP, nous émettons la commande EHLO, nous nous authentifions, nous définissons le MAIL FROM, nous définissons le RCPT TO, la commande DATA, nous envoyons les données, la période de fermeture, et enfin nous recevons la confirmation que le message a été mis en file d'attente.
Comparons cela avec une charge utile HTTPs :
> openssl s_client -connect api.mailgun.net:443
> POST /v2/samples.mailgun.org/messages HTTP/1.1
> Autorisation : Basic YXBpOmtleS0zYXg2eG5qcDI5amQ2ZmRzNGdjMzczc2d2anh0ZW9sMA==
> Content-Type : application/x-www-form-urlencoded
> Content-Length : 126
>
> from=test%40samples.mailgun.org&to=recipient%40samples.mailgun.org&subject=Testing&
> text=C'est+un+test+de+HTTP+sur+le+port+443 !
9HTTP/1.1 200 OK
Ici, nous établissons une connexion, transmettons la charge utile HTTP POST et recevons un 200 OK du point de terminaison de l'API. Nous n'avons pas à émettre une séquence de commandes et à attendre une réponse du serveur après chaque commande.
Que retenir des ports SMTP ?
En résumé, lorsque la performance est souhaitée, Mailgun recommande d'utiliser notre endpoint API. La quantité d'aller-retour de "chat" est beaucoup moins importante. Et avec nos SDK API, la connexion est assez simple. Si vous n'êtes pas intéressé par la connexion via API, nos points de terminaison SMTP sont prêts pour votre courrier. N'oubliez simplement pas - le port 587 est le lieu de la fête en ce qui concerne les SMTP sécurisés !
Pour en savoir plus, consultez notre documentation pour plus d'infos, ou contactez-nous et nous pourrons répondre à toutes vos questions sur les ports SMTP ou nos services de messagerie.