Menu

Hoe tijdelijke mail werkt — bezorging, vervaldatum en verlies

Hoe tijdelijke mail werkt, van de domeinrecord die een bericht naar de server leidt die het bewaart, en waarom een tijdelijk adres altijd verloopt.

Gepubliceerd

  • tijdelijke mail
  • e-mailbezorging
  • vervaldatum

Tijdelijke mail werkt door een mechanisme te lenen dat elk adres op het internet al gebruikt, en vervolgens de onderdelen te verwijderen die een postvak permanent maken. Aan het bericht verandert niets; wat verandert, is waar het terechtkomt en hoe lang het blijft. Als je de twee helften van een adres en de reis die een bericht aflegt begrijpt, verklaar je het meeste gedrag dat mensen verrast, waaronder het feit dat een bericht twee keer kan aankomen en een tijdelijk adres altijd sterft.

De twee helften van elk adres

Een adres wordt door het apenstaartje in tweeën gedeeld: een lokaal deel en een domein. Het lokale deel is het label dat het ontvangende systeem gebruikt om te beslissen bij welk postvak het bericht hoort. Het domein is het deel dat bij een organisatie hoort, en dat is het deel dat het bredere mailsysteem weet te vinden.

Alles vóór het apenstaartje is aan de ontvangende dienst, dus een tijdelijk postvak kan je elk label geven dat het wil zonder iemand om toestemming te vragen. Het domein is het deel dat echt moet zijn, omdat de kant van de afzender het moet kunnen opzoeken. Die asymmetrie is waarom wegwerpdiensten je adressen op hun eigen domeinen geven in plaats van nieuwe te verzinnen.

Het bezorgpad, stap voor stap

De volgorde van gebeurtenissen ligt vast, en elke stap is een plek waar een bericht kan worden vertraagd of laten vallen.

  1. Iets activeert een bericht — een registratieformulier, een wachtwoordreset, een ordergebeurtenis.
  2. Het verzendende systeem zoekt het domein van de ontvanger op en vraagt welke server mail voor dat domein accepteert.
  3. Die server wordt benaderd en het bericht wordt aangeboden.
  4. De ontvangende server beslist of hij het aanneemt, en slaat het op als dat zo is.
  5. Jouw client, of de pagina die je bekijkt, leest later wat er is opgeslagen.

De middelste stap is degene die mensen vergeten. Een domein moet een record publiceren dat zijn ontvangende mailserver noemt; zonder dat heeft mail voor dat domein nergens naartoe te gaan en geeft de afzender het op. Het mechanisme is gestandaardiseerd in de transport-specificatie van de IETF, RFC 5321, en daar komt ook de regel vandaan dat bezorging asynchroon is. Een afzender geeft een bericht over en gaat verder; hij wacht niet tot jij inlogt.

Waarom verloopt een tijdelijk adres?

Omdat niets in de keten iets anders belooft. Een permanent postvak is een dienst die iemand namens jou beheert zolang je het account aanhoudt. Een tijdelijk postvak is de omgekeerde regeling: het is beperkt tot een sessie of een kort tijdvenster, en wanneer die reikwijdte eindigt, worden de opgeslagen berichten verwijderd.

Verval is geen defect dat een betere aanbieder zou repareren. Het is juist het kenmerk. De reden dat een wegwerpadres goedkoop, ongeregistreerd en wachtwoordloos is, is dat het niet is ontworpen om te blijven bestaan. Zodra het venster sluit, is er geen herstelpad, geen supportwachtrij en geen archief om in te zoeken.

Dat verklaart ook een veelgehoorde klacht over codes die “niet meer werken”. Een verificatiecode die naar een tijdelijk adres wordt gestuurd, heeft aan de verzendende kant ook zijn eigen korte levensduur; als zowel het postvak als de code verlopen, is de enige weg vooruit om de flow opnieuw te starten met een vers adres.

Is een traag bericht een verloren bericht?

Meestal niet, en dat is het onderscheid dat een werkende integratie scheidt van een onbetrouwbare. Mailbezorging is asynchroon, dus een bericht kan even of aanzienlijk langer duren voordat het verschijnt. Dubbele bezorging is ook normaal in plaats van uitzonderlijk: hetzelfde bericht kan twee keer aankomen, en een ontvangend systeem dat de tweede kopie als een fout behandelt, vecht tegen het transport in plaats van er gebruik van te maken.

De praktische reactie is geduld met een bovengrens. Zoek naar het bericht tot het verschijnt of tot je limiet is bereikt, en beschouw het aflopen van de limiet als een resultaat op zich, niet als een reden om voor altijd te blijven wachten.

Wat de postvakpagina hier doet

De tijdelijke mailtool geeft je een adres op een van zijn maildomeinen, houdt wat aankomt bij in een postvak op de pagina, en laat je het adres weggooien en een ander nemen. Omdat het adres nergens is geregistreerd, is een vers adres echt vers: geen eerdere berichten, geen gedeelde geschiedenis, niets om uit te leggen.

Dat is juist nuttig omdat het oppervlakkig is. Een postvak dat je op elk moment kunt vervangen, is het juiste gereedschap om een bevestiging te ontvangen, en het verkeerde gereedschap voor alles waarvan je het vervelend zou vinden om het kwijt te raken. Als je nog twijfelt welk soort adres je wilt, behandelt wat een wegwerp e-mailadres is het verschil in gewone taal.

Een hier geproduceerd adres hoort bij de klus die het nodig had en bij helemaal niemand. Het is een testfixture, alleen voor testdoeleinden bewaard, en het mag nooit worden gekopieerd naar een profiel, een mailinglijst of welk register van echte personen dan ook.

Voor ontwikkelaars: pollen, herhalingen en geïsoleerde adressen

Drie beslissingen bepalen of op mail gebaseerde tests stabiel zijn.

De eerste is het pollinterval en de bovengrens. Kies een interval dat kort genoeg is zodat de suite niet stil komt te zitten, en een bovengrens die lang genoeg is zodat gewone latentie er nooit tegenaan loopt; maak het timeout-falen vervolgens luidruchtig, met het bericht dat werd verwacht en het venster dat werd gewacht, zodat de volgende persoon weet wat er is gebeurd.

De tweede is adresisolatie. Een uniek adres per geval verwijdert de grootste bron van valse positieven, omdat het bericht dat je vindt alleen afkomstig kan zijn van het geval dat je uitvoert. Eén adres hergebruiken voor meerdere gevallen nodigt oude mail uit om een assertie te bevredigen waar die niet bij hoort.

De derde is tolerantie voor herhaling. Omdat duplicaten aankomen, moeten asserties worden gebouwd op de aanwezigheid en inhoud van een overeenkomend bericht in plaats van op het aantal berichten. Een suite die faalt de eerste keer dat een bericht twee keer wordt bezorgd, is een suite die onder productieomstandigheden zal falen.

Het artikel over flowtesten gaat dieper in op wat het verificatiepad zelf moet bewijzen.

Volgende stappen

Als een bericht niet verschijnt, controleer dan eerst de twee waarschijnlijkste oorzaken: een adres dat is verlopen terwijl je iets anders las, en een code die aan de kant van de afzender is verlopen. Open dan de tijdelijke mailpagina en start de flow opnieuw met een schoon adres in plaats van het oude te proberen te redden.

Verder lezen

Handleidingen over Tijdelijke e-mail (wegwerp-e-mail / e-mail van 10 minuten)