Naar de inhoud
NLEN
GitHub
Alle posts

Mijndomein maakt weggaan moeilijker dan het hoeft

  • mail
  • migadu
  • mijndomein

8 min lezen

Sinds 2018 zat de mail van mijn familie bij Mijndomein. Elk jaar werd het duurder, en in de webmail waar ik voor betaalde stond reclame. Dus ging ik weg. De verhuizing zelf was minder spannend dan ik dacht. Mijndomein verlaten was een ander verhaal.

Mijn familie heeft mail op klaasboer.org. Zes mailboxen: ik, mijn ouders, mijn broertje en nog twee familieleden. Sinds 2018 stond dat bij Mijndomein, en lang ging dat prima. Mijndomein had toen nog OX App Suite als webmail, en die vond ik oprecht mooi.

OX App Suite is inmiddels verdwenen. De prijs niet.

De prijs

Dit is wat ik elk jaar voor het domein en de mail betaalde, inclusief btw:

  1. 2019€ 45,00
  2. 2020€ 55,00
  3. 2021€ 55,99
  4. 2022€ 65,34
  5. 2023€ 65,34
  6. 2024€ 82,28
  7. 2025€ 104,06
  8. 2026€ 157,30aangekondigd

2024 en 2025 gingen er allebei zo’n 26% bij. Voor 2026 kondigden ze € 30 voor het domein en € 100 voor de mail aan. Exclusief btw uiteraard, dus samen € 157,30. Dat is 51% meer dan het jaar ervoor en drie en een half keer zoveel als in 2019. Het is ook niet dat ik eerst weinig betaalde.

En dan de webmail. Voor dat geld kreeg ik een webmail waar reclame in stond. Het was reclame voor Mijndomein zelf, een Black Friday-actie om er webhosting bij te nemen, gelukkig geen derde partijen. Maar reclame is reclame, en die zet je niet in iets waar je klant voor betaalt. Ook dat is nogal een keuze.

Het eerste plan

In juli had ik al een plan. Hetzner Webhosting, voor zo’n € 44 per jaar inclusief het domein, met zelf Roundcube erop omdat de webmail van Hetzner er gedateerd uitziet. Er lag zelfs een migratiedraaiboek van acht fases.

Daarna heb ik er niks meer mee gedaan, tot ik in oktober zag dat ik vóór 23 oktober moest opzeggen. Anders zat ik nog een jaar vast aan die € 157,30.

Waar dan heen?

Ik wilde iets in de EU. Cloudflare was de bewuste uitzondering, want daar stond mijn DNS al. En de familie moet gewoon kunnen blijven mailen vanuit de Gmail-app op Android en Outlook, dus gewone IMAP en SMTP waren een eis.

De grote namen vielen snel af. Google Workspace kost per gebruiker, en voor zes mensen kom je dan op bijna € 600 per jaar. Microsoft 365 Family ondersteunt sinds eind 2023 geen nieuwe eigen domeinen meer, en de zakelijke variant is per gebruiker net zo duur. Zoho’s gratis plan stopt bij vijf gebruikers. Fastmail is niet Europees en duurder dan Mijndomein. Proton en Tuta doen geen gewone IMAP, en dat is lastig met Outlook. Mailbox.org rekent per mailbox. Soverin was de logische Nederlandse keuze, maar de webmail is functioneel en niet mooi.

Het werd Migadu, een Zwitserse partij die niet per mailbox rekent maar per account. Je mag er zoveel adressen en domeinen aan hangen als je wilt, het is gewone IMAP en SMTP, en er staat nergens reclame in. Hun hele marketing draait om simpel maar goed, en dat klopt ook. Ik ging voor het Mini-plan, zo’n € 8 per maand. Het domein ging naar Cloudflare, dat verlengt tegen kostprijs.

Samen is dat ongeveer € 107 per jaar. Zo’n € 50 minder dan Mijndomein, voor iets dat beter werkt.

Voor de webmail kwam er Nextcloud Mail, op een server die ik toch al had draaien, met een eigen thema dat ik nabouwde naar OX App Suite. Die vond ik zo mooi dat ik hem terug wilde. Inmiddels bouw ik een eigen webmail, maar dat is een ander verhaal.

Eerst opruimen

Mijn eigen mailbox telde 20.883 mails en 1,77 GB, waarvan het grootste deel nieuwsbrieven. De 25 grootste afzenders waren samen al zo’n 560 MB. Die wilde ik niet meeverhuizen.

Ik liet een script schrijven dat de mailbox scant en alles in een CSV zet, zodat ik kon aanvinken wat weg mocht. Twintigduizend regels aanvinken bleek alleen niet te doen, dus kreeg het script ook een commando dat zelf markeert op basis van regels: nieuwsbrieven, bepaalde afzenders, mappen en alles ouder dan twee jaar. Alles ging weg met een backup per mail. Er bleven 2.931 mails over, 328 MiB.

Mijn moeder had het omgekeerde probleem. Haar mailbox was 3,73 GiB, met 40.419 berichten. Daarvan stonden er 39.611 in de prullenbak, 93 procent. Haar antwoord op de vraag wat er mee moest was kort: de prullenbak mag weg, Belangrijk niet. Zonder de prullenbak was het nog 271 MiB.

De verhuizing

Het slimste aan Migadu bleek een optie die ik niet kende: MX proxying. Normaal moet je je MX-record al naar Migadu wijzen voordat ze je domein activeren. Met proxying kijkt Migadu naar je oude mailserver en vindt dat ook goed. Het domein was dus al actief bij Migadu terwijl alle mail nog bij Mijndomein binnenkwam, en ik kon rustig alles overzetten en testen.

Er zat één verrassing in de DNS. Migadu zag geen geldig DMARC-record, terwijl ik dacht dat er een stond. Dat klopte half: _dmarc was een CNAME naar een record van Mijndomein. Mijndomein bepaalde dus op afstand het DMARC-beleid van mijn domein, en dat stond op none. Dat is nu een eigen record.

Het overzetten zelf ging met imapsync. Met --addheader, omdat er drie berichten zonder headers in mijn mailbox stonden die anders niet meegingen. Met --exclude "^Trash$" voor de mailbox van mijn moeder. En bewust zonder --delete2, want anders verwijdert imapsync mail die al via Migadu binnengekomen of verstuurd is. Eerst alles droog gedraaid en bij elke run gecontroleerd op deze regel:

Detected 0 errors

Mijndomein verlaten

Tot hier ging alles volgens plan. Toen moest ik bij Mijndomein weg, en dat bleek het lastigste deel van de hele verhuizing.

Ik wilde alleen de mail opzeggen en het domein meenemen. Dat kan niet. Het vinkje om op te zeggen zit alleen bij het domein, en dan zeg je het hele pakket op. Opzeggen haalt bovendien alles direct weg, zonder mogelijkheid om het domein te verhuizen. Dat ging ik dus mooi niet doen.

Dan “Pakket wijzigen”. Wat je daar kiest, gaat meteen in, met een nieuwe periode van een jaar. Ik zat al op het scherm met de knop om te kiezen voordat dat duidelijk werd.

En dan “Zet ter overname”. Dat klinkt als de knop om je domein naar een andere partij te verhuizen, en zo hebben Claude en ik hem ook gelezen. Hij stond zelfs zo in mijn draaiboek. Om daar te komen moest je eerst downgraden naar alleen het domein, met een gele waarschuwing dat je per direct geen gebruik meer kunt maken van de diensten in je pakket. Achteraf bleek “Zet ter overname” iets heel anders te betekenen: Mijndomein laten bemiddelen bij de verkoop van je domein aan iemand anders. De verhuiscode die ik nodig had, zat ergens anders, twee pagina’s verderop.

Ik heb uiteindelijk eerst mijn pakket aangepast, waardoor de webmail weg was, en toen via twee aparte pagina’s mijn verhuiscode gevonden. Of dat ook zonder downgrade had gekund, weet ik niet.

Ik ben geen boomer die niet snapt hoe een website werkt. Ik ben software engineer en bouw zelf dagelijks software. Als ik hier twee keer de verkeerde kant op loop, ligt het hoogstwaarschijnlijk niet aan mij. Of het een dark pattern is, weet ik niet, en het maakt mij ook niet zoveel uit. Debiel ontworpen is het in elk geval.

Rick
Wat is mijndomein een verschrikkelijke partij zeg holy shit
Rick
Nee ik doe morgen gewoon een hard cut-off en dan zoeken ze het maar uit bij mijndomein

De dag zelf

De volgende ochtend gingen de MX-records naar Migadu, kreeg SPF een -all aan het eind, en kwamen er autoconfig- en SRV-records bij zodat mailapps zelf de servers kunnen vinden. MX proxying uit, checks opnieuw draaien: alles groen. Een testmail vanuit Gmail kwam meteen binnen. Daarna nog een laatste imapsync voor de mails die er in de tussentijd bij waren gekomen.

Toen het domein. Van de bestelling bij Cloudflare tot “Transfer Complete” duurde het twaalf minuten. Een minuut later kwam er een testmail van mijn moeder binnen. De transfer kostte $ 11,20, inclusief een jaar verlenging.

Dat de mail bij Mijndomein door de downgrade meteen stopte, merkte niemand. De MX wees toen al naar Migadu.

De familie

De laatste stap was iedereen zijn mail opnieuw laten instellen. Op Android in de Gmail-app is dat een kwestie van IMAP op 993 en SMTP op 465 invullen en het oude account weghalen. Bij één gezinslid bleef de knop Volgende grijs, omdat er imaps:// voor de servernaam stond. Bij mijn moeder stond de uitgaande server nog op Mijndomein. Apple Mail op mijn eigen iPhone pakte de autoconfig-records niet op, dus die heb ik met de hand ingesteld. De iPhone doet geen push voor IMAP en haalt elk kwartier op, maar zo was het daarvoor ook al, dus niks verloren.

Mijn moeder vond het fantastisch. Ze hoeft dit ook nooit meer te doen.

Rick
Ik ben verlost, van mijndomein EINDELIJK
Rick
en de mama-approval :P
Rick
was minder spannend dan ik dacht gelukkig

Achteraf

De mailtest van internet.nl gaf 93%. De punten gingen verloren op DMARC, dat ik toen nog op none had staan, en op de TLS-instellingen van Migadu zelf. Dat laatste kan ik niet veranderen. DNSSEC kon aan zodra het domein bij Cloudflare zat.

Een paar dagen later kwam er bij mijn moeder een vervalste sextortion-mail binnen, zogenaamd van haar eigen adres. DMARC staat sindsdien op reject, zodat mailservers zulke mails weigeren in plaats van ze af te leveren.

Het plan uit juli heb ik dus nooit uitgevoerd. Ik begon pas toen de opzegtermijn bijna verlopen was, en daardoor ging het in een paar dagen in plaats van rustig over een paar weken. Dat het toch goed ging, komt vooral door Migadu. Dat was de reddende engel. En Nextcloud is nog minder bloated dan de webmail van Mijndomein.

Volgende post

Engels

Why I am moving to Jellyfin and you should too

Plex has run on the server in Zwolle for years. This week Plex let go of the team that builds its video player, and I decided I wanted a way out that I had actually tested. So Jellyfin now runs next to Plex, on the same files. One day in: hardware transcoding works, my watch history came along, and comparing the two turned up a bunch of movies that had been the wrong movie all along.

Lees verder