Maak verbinding met de VPN van kantoor, open de mailclient en zie de inbox weigeren te vernieuwen terwijl webmail normaal laadt. De gebruikelijke diagnose is dat de VPN verkeer doorlaat maar mail blokkeert, of dat het wachtwoord van het account is gewijzigd. Beide gissingen slaan de structuur over van wat een IMAP-client doet. De host bereiken, TLS afronden, authenticeren en een mailbox selecteren zijn vier verschillende gebeurtenissen, en de VPN bezit alleen de eerste.

De mythe: één verbinding betekent één login

Het geloof is dat de mailbox feitelijk open is zodra de tunnel staat en de mailserver antwoordt. Dat is niet zo. De VPN levert een pad naar de dienst; hij logt u niet in en selecteert geen map. Een client kan bij de vierde van die stappen staan met een volledig werkende tunnel en een geldig wachtwoord.

In die kloof leven de meeste meldingen «IMAP werkt niet via VPN» in werkelijkheid.

Drie IMAP-toestanden, en waar clients vastlopen

IMAP definieert een niet-geauthenticeerde toestand, een geauthenticeerde toestand en een geselecteerde toestand, en commando's zijn alleen geldig in de toestand die ze toestaat. Een verbinding kan ook al geauthenticeerd beginnen wanneer de server voorafgaande authenticatie biedt, dus het ontbreken van een wachtwoordvraag bewijst niets. Een mailbox selecteren verplaatst de sessie van geauthenticeerd naar geselecteerd, en pas dan hebben commando's die op berichten werken een doel.

Een client die zich correct authenticeert en daarna de geconfigureerde map niet kan selecteren, ziet eruit als een synchronisatiefout terwijl de server zich correct gedraagt. Hernoemde mappen, een provider die «inbox» anders toewijst, of ontbrekende toegangsrechten eindigen allemaal hier. De getagde NO-reactie van de server is het bewijs, en het is niet dezelfde reactie als een geweigerd wachtwoord.

TLS komt vóór het IMAP-gesprek

Met impliciete TLS op poort 993 is de TLS-handshake voltooid voordat een IMAP-commando wordt verzonden, waardoor een certificaatprobleem een fout geeft die vertrouwen noemt en niet mail. De mailhostnaam moet tegen het certificaat valideren net zoals een webhostnaam; een tunnel die verkeer bewaart maakt een ongeldig certificaat niet geldig.

De fouttekst scheidt de gevallen. Een verbindingstime-out betekent dat de SYN nooit is voltooid. Een TLS-fout betekent dat de TCP-verbinding werkte en de handshake niet. Een IMAP NO- of BAD-reactie betekent dat beide slaagden en dat de protocolaag iets weigerde. Noteer welke u zag voordat u een instelling wijzigt.

Gecachte mail is geen bewijs voor iets

Een mailclient toont eerder gedownloade berichten ongeacht of hij de server vandaag kan bereiken, dus een inbox die wordt weergegeven vertelt u alleen dat lokale opslag werkt. Elke echte test moet een serverbewerking afdwingen: vernieuw een map, haal een bericht op dat nooit is gedownload, of stuur een commando dat de client alleen na het selecteren van de mailbox zou geven.

Gebruik een niet-destructieve controle. Eén map vernieuwen en het foutenlogboek van het account lezen is beter dan het account verwijderen en opnieuw toevoegen, wat vooral bewijst dat het configuratiescherm nog werkt.

Verzenden en webmail zijn verschillende protocollen

Mail versturen is inzending, niet IMAP. Het gebruikt een aparte dienst en meestal een aparte poort met een eigen TLS-modus en eigen authenticatie, dus een werkende uitbox bewijst niet dat de IMAP-mailbox is geselecteerd, en een kapotte uitbox beschuldigt IMAP niet.

Webmail is weer anders. Het kan via dezelfde VPN slagen omdat het een HTTPS-sessie tegen een web-frontend is, wat niets zegt over de IMAP-host, poort of TLS-modus van de desktopclient.

Voor een overdracht noteert u vier resultaten apart: het VPN-pad, het resultaat van het mail-eindpunt en TLS, het resultaat van de accountauthenticatie en het resultaat van de mailboxselectie. Houd inloggegevens en berichtinhoud buiten de notitie. Dat verslag vertelt de volgende persoon of de oplossing bij het netwerk, het certificaat, het account of de mapconfiguratie hoort, zonder een van beide beschermingslagen te verzwakken.

Gerelateerde artikelen