Le courrier temporaire fonctionne en empruntant un mécanisme que toute adresse sur Internet utilise déjà, puis en retirant les éléments qui rendent une boîte permanente. Rien ne change dans le message ; ce qui change, c’est l’endroit où il atterrit et la durée pendant laquelle il y reste. Comprendre les deux moitiés d’une adresse et le trajet que parcourt un message explique la plupart des comportements qui surprennent les gens, y compris le fait qu’un message peut arriver deux fois et qu’une adresse temporaire meurt toujours.
Les deux moitiés de chaque adresse
Une adresse est coupée par l’arobase en une partie locale et un domaine. La partie locale est l’étiquette que le système récepteur utilise pour décider à quelle boîte le message appartient. Le domaine est la partie qui appartient à une organisation, et c’est celle que le système de messagerie au sens large sait trouver.
Tout ce qui précède l’arobase dépend du service récepteur, si bien qu’une boîte temporaire peut vous attribuer n’importe quelle étiquette sans demander la permission à quiconque. Le domaine, lui, doit être réel, car le côté expéditeur doit pouvoir le résoudre. Cette asymétrie explique pourquoi les services jetables vous donnent des adresses sur leurs propres domaines au lieu d’en inventer de nouveaux.
Le chemin de livraison, étape par étape
L’ordre des événements est fixe, et chaque étape est un endroit où un message peut être retardé ou abandonné.
- Quelque chose déclenche un message — un formulaire d’inscription, une réinitialisation de mot de passe, un événement de commande.
- Le système expéditeur recherche le domaine du destinataire et demande quel serveur accepte le courrier pour ce domaine.
- Ce serveur est contacté et le message lui est proposé.
- Le serveur récepteur décide s’il l’accepte et, le cas échéant, le stocke.
- Plus tard, votre client, ou la page que vous consultez, lit ce qui a été stocké.
L’étape du milieu est celle que l’on oublie. Un domaine doit publier un enregistrement qui nomme son serveur de messagerie récepteur ; sans lui, le courrier destiné à ce domaine n’a nulle part où aller et l’expéditeur renonce. Le mécanisme est normalisé dans la spécification de transport de l’IETF, la RFC 5321, d’où provient également la règle selon laquelle la livraison est asynchrone. Un expéditeur remet un message et passe à autre chose ; il n’attend pas que vous vous connectiez.
Pourquoi une adresse temporaire expire-t-elle ?
Parce que rien dans la chaîne ne promet le contraire. Une boîte permanente est un service que quelqu’un exploite pour votre compte aussi longtemps que vous gardez le compte. Une boîte temporaire est l’arrangement inverse : elle est circonscrite à une session ou à une courte fenêtre, et lorsque cette portée prend fin, les messages stockés sont supprimés.
L’expiration n’est pas un défaut qu’un meilleur fournisseur corrigerait. C’est la fonctionnalité. Ce qui rend une adresse jetable bon marché, non enregistrée et dépourvue de mot de passe, c’est justement qu’elle n’est pas conçue pour durer. Une fois la fenêtre refermée, il n’y a ni chemin de récupération, ni file d’assistance, ni archive à consulter.
Cela explique aussi une plainte fréquente à propos de codes qui « cessent de fonctionner ». Un code de vérification envoyé à une adresse temporaire a lui aussi sa propre durée de vie courte du côté de l’expéditeur ; si la boîte et le code expirent tous les deux, la seule issue est de recommencer le parcours avec une nouvelle adresse.
Un message lent est-il un message perdu ?
En général non, et c’est la distinction qui sépare une intégration fonctionnelle d’une intégration instable. La livraison du courrier est asynchrone, si bien qu’un message peut mettre un instant ou sensiblement plus longtemps à apparaître. La livraison en double est également normale plutôt qu’exceptionnelle : le même message peut arriver deux fois, et un système récepteur qui traite la seconde copie comme une erreur lutte contre le transport au lieu de l’utiliser.
La réponse pratique, c’est de la patience avec un plafond. Cherchez le message jusqu’à ce qu’il apparaisse ou jusqu’à ce que votre limite soit atteinte, et considérez l’expiration de la limite comme un résultat en soi plutôt que comme une raison d’attendre indéfiniment.
Ce que fait la page de boîte aux lettres ici
L’outil de courrier temporaire vous donne une adresse sur l’un de ses domaines de messagerie, conserve ce qui arrive dans une boîte sur la page, et vous permet de jeter l’adresse et d’en prendre une autre. Comme l’adresse n’est enregistrée nulle part, une adresse neuve est réellement neuve : aucun message antérieur, aucun historique partagé, rien à expliquer.
C’est utile précisément parce que c’est superficiel. Une boîte que vous pouvez remplacer à tout moment est le bon outil pour recevoir une confirmation, et le mauvais outil pour tout ce que vous seriez contrarié de perdre. Si vous hésitez encore sur le type d’adresse que vous voulez, ce qu’est une adresse e-mail jetable couvre la différence en termes simples.
Une adresse produite ici appartient à la démarche qui en avait besoin et à personne du tout. C’est une fixture de test, conservée uniquement à des fins de test, et elle ne doit jamais être recopiée dans un profil, une liste de diffusion ou un registre quelconque de personnes réelles.
Pour les développeurs : interrogation, tentatives et adresses isolées
Trois décisions déterminent si les tests fondés sur le courrier sont stables.
La première est l’intervalle d’interrogation et le plafond. Choisissez un intervalle assez court pour que la suite ne reste pas inactive, et un plafond assez long pour que la latence ordinaire ne le déclenche jamais ; rendez ensuite l’échec du délai bruyant, avec le message attendu et la fenêtre d’attente, afin que la personne suivante sache ce qui s’est passé.
La deuxième est l’isolation des adresses. Une adresse unique par cas supprime la plus grande source de faux positifs, parce que le message que vous trouvez ne peut provenir que du cas que vous exécutez. Réutiliser une adresse d’un cas à l’autre invite un courrier périmé à satisfaire une assertion à laquelle il n’appartient pas.
La troisième est la tolérance à la répétition. Comme les doublons arrivent, les assertions devraient être construites sur la présence et le contenu d’un message correspondant plutôt que sur le nombre de messages. Une suite qui échoue la première fois qu’un message est livré deux fois est une suite qui échouera dans des conditions de production.
L’article sur les tests de parcours approfondit ce que le chemin de vérification lui-même devrait être chargé de prouver.
Étapes suivantes
Si un message n’apparaît pas, vérifiez les deux causes les plus probables avant toute autre chose : une adresse qui a expiré pendant que vous lisiez autre chose, et un code qui a expiré du côté de l’expéditeur. Ouvrez ensuite la page de courrier temporaire et recommencez le parcours avec une adresse propre plutôt que d’essayer de sauver l’ancienne.