Niemand hoort een IMAP-poort op te zoeken. De SRV-records, well-known-URL's en doorverwijzingen waardoor Apple Mail, Thunderbird en een telefoon zich instellen op basis van alleen een e-mailadres, en de twee plekken waar het je nog iets laat intypen.
Er is een kleine, weinig glamoureuze test die je vertelt of een e-mailprovider je tijd respecteert. Voeg het account toe aan Apple Mail, of Thunderbird, of de mailapp op een Android-telefoon. Typ het adres, typ het wachtwoord. Werkt het?
Werkt het, dan heeft iemand de juiste records gepubliceerd en de juiste endpoints ingericht. Werkt het niet, dan zit je nu IMAP-poortnummers op te zoeken, en elke collega die je daarna migreert ook. Deze post gaat over de machinerie die de eerste versie mogelijk maakt, want dit is zo'n functie die niemand opmerkt als hij werkt en die iedereen voelt als hij dat niet doet.
Typ je jij@jouwbedrijf.eu in een mailapp, dan weet die app nog helemaal niets over je provider. Hij weet een domein. Dus gaat hij zoeken, in een vaste volgorde die door internetstandaarden is vastgelegd en niet door een leverancier, en stelt hij jouw domein een reeks vragen.
Hij zoekt naar SRV-records, kleine DNS-vermeldingen die de server en poort voor een bepaalde dienst noemen. Er is er een voor het moderne JMAP, en er zijn oudere voor IMAP, voor uitgaande mail, voor agenda's en voor contacten. Hij zoekt naar een well-known-URL op je domein, een vast pad dat machineleesbaar teruggeeft waar de echte dienst staat. En afhankelijk van het programma zoekt hij naar een configuratiebestand op een afgesproken hostnaam op je domein, het mechanisme waar Thunderbird en Outlook elk hun eigen versie van hebben.
Eén daarvan die goed antwoordt is genoeg. De hobbel is dat ze allemaal door jouw domein beantwoord moeten worden en niet door het onze, want jouw domein is wat de gebruiker heeft ingetypt.
| Het programma vraagt | Wie antwoordt | Hoe ingericht |
|---|---|---|
| SRV-records voor mail, agenda's en contacten | DNS op je domein | Records in de set die wij genereren |
| Een well-known-URL over HTTPS | Wat je domein ook host | Een doorverwijzing naar de mailserver |
| Een configuratiebestand op een afgesproken hostnaam | DNS op je domein | Records in de set die wij genereren |
Dit is het detail dat automatische configuratie moeilijker maakt dan het lijkt. Het domein in een e-mailadres is meestal ook een bedrijfswebsite, en een website is geen mailserver. Vraagt een programma aan jouwbedrijf.eu waar de agenda's staan, dan komt die vraag terecht bij wat je homepage host.
Er zijn twee schone uitwegen, en we gebruiken ze beide.
De eerste is DNS, dat zich niets aantrekt van wat je website is. De SRV-records die programma's naar de juiste hosts en poorten wijzen zitten in de recordset die we voor je domein genereren, samen met de hostnamen waar programma's in de stijl van Thunderbird en Outlook naar zoeken. Je publiceert de zone één keer bij het instellen van het domein, en daarna is het geregeld. Zonder webserver.
De tweede is een doorverwijzing, voor de well-known-URL's die over HTTPS door het domein zelf beantwoord moeten worden. Dat zijn doorverwijzingen van één regel die het programma naar de mailserver sturen, en die levert het echte bestand. Precies dat draaien we op email.eu: vraag onze marketingsite waar onze agenda's staan en hij stuurt je door naar de mailserver, die netjes antwoordt. Het zijn twee stappen die milliseconden kosten, en het is het verschil tussen een telefoon die synchroniseert en een telefoon die zegt dat hij het account niet kan verifiëren.
Het moderne antwoord op dit alles is JMAP, wat onze webmail spreekt en waar de mailserver voor gebouwd is. JMAP heeft schone ontdekking in de standaard zitten.
Het moderne antwoord is niet wat er op de telefoons van je team staat. Dus dekken de records die we publiceren ook de oude wereld: IMAP en submission voor alles van de afgelopen twintig jaar, CalDAV en CardDAV voor agenda's en contacten, allemaal naast het nieuwe aangekondigd. Een provider die alleen de toekomst ondersteunt vraagt van al je collega's dat ze hun gewoontes veranderen op precies de dag dat ze van provider wisselen, en dat is de dag dat ze daar het minste geduld voor hebben.
Dat is dezelfde afweging die achter het ondersteunen van standaardprotocollen zit. Automatische configuratie is dat principe toegepast op de eerste zestig seconden.
Twee eerlijke grenzen.
Sommige programma's vinden op sommige platformen de server prima, en vragen dan toch om een wachtwoord in plaats van een browser te openen om je aan te melden. Dat is een keuze van het programma over hoe het inlogt, niet iets wat een DNS-record kan oplossen. Wil het programma een gewoon wachtwoord, dan wil het een app-wachtwoord, wat je in ongeveer tien seconden aanmaakt in je accountinstellingen en veiliger is dan het je echte wachtwoord geven.
En Outlook is zijn eigen weersysteem. Het gedrag rond ontdekking is meermaals veranderd tussen versies en tussen de desktop-, web- en mobiele varianten, dus "het werkt in Outlook" is een uitspraak met een versienummer eraan. Wij publiceren wat de standaarden zeggen dat je moet publiceren, en dat is het deel dat wij beheersen, en het werkt met de huidige versies waartegen we testen.
Dat zeggen we liever eerlijk dan dat we een universele ervaring beloven en je de uitzondering laat ontdekken op de ochtend dat je overstapt.
Migraties mislukken niet op de grote beslissingen. Ze mislukken op de twintigste persoon die zijn telefoon niet aan de praat kreeg en stilletjes het oude account bleef gebruiken, waardoor het oude account niet uit kan, waardoor de migratie zes maanden later nog niet klaar is.
Automatische configuratie is wat dat op schaal voorkomt. Iedereen die je aansluit typt één keer een adres en een wachtwoord. Niemand opent een documentatiepagina. Niemand vraagt IT om een poortnummer.
Wil je het met je eigen mailprogramma zien werken voordat je je aan iets vastlegt, dan is dat een eerlijke test tijdens een proefperiode. De migratiegids voor een weekend richt precies dat in: alles werkend en testbaar terwijl je oude provider nog steeds je mail bezorgt.