Ich hatte heute einen Scheißtag. Ich bin durch beruflichen Stress mit den Nerven am Ende, ich habe mir heute zwei Mal die rechte Schulter ausgekugelt, einige meiner Lieblingspflanzen sterben gerade und ich weiß nicht, warum. Heute Abend habe ich mir dann gedacht: Damit ich heute wenigstens eine Sache geschafft habe, kaufe ich mir endlich einen Drucker, damit ich das mal hinter mir habe (und ich endlich die dazugehörigen Tabs im Browser schließen kann).
Da OpenPrinter anscheinend immer noch nicht mit dem Verkauf angefangen hat, ich wegen andauernder Kundengängelung von Druckerherstellern wie HP dort keinen Drucker kaufen möchte und von Brother bisher eher Gutes gehört habe, bin ich zu Brother gegangen. Ich habe mir einen einfachen Monochrom-Laserdrucker ausgesucht und wollte ihn kaufen. Sollte kein Problem sein, oder?
Hahaha, doch. Natürlich kann ich nicht ohne Account einkaufen. Für den Account muss ich bei Brother meine Email-Adresse angeben. Ich gebe bei solchen Angelegenheiten gerne meine Adresse mit einem Pluszeichen am Ende des lokalen Teils an. Bei einigen Mailprovidern (mittlerweile glücklicherweise auch bei Posteo) kann man Konstrukte wie foobar+suffix@example.com angeben, und die Mails an diese Adresse landen alle im Postfach für foobar@example.com. Der Vorteil: Ich kann für jeden Dienst, bei dem ich mich anmelde, eine einzigartige Adresse angeben und dann, falls die Adresse geleaked wird und ich Spam bekomme, feststelle, wer meine Adresse geleaked hat. Soweit die Theorie.
In der Praxis erlauben viele Webservices keine Pluszeichen in Emailadressen. Und das, obwohl Pluszeichen völlig legale Zeichen im lokalen Teil der Email-Adresse sind. Zu solchen Anbietern gehören zum Beispiel Microsoft, die deutsche Telekom und Verimi (letztere stellen ihre Dienste Ende des Jahres ein, was ich mir für Microsoft auch wünschen würde).
Die Verifizierung, dass die Adresse kein Pluszeichen enthält, wird aber erst einmal rein clientseitig gemacht. Also dachte ich mir, ich könnte die vielleicht umgehen, indem ich den Regex aus dem Eingabefeld entferne. Tatsächlich geht das auch. Ich kann die Emailadresse eingeben, das Formular abschicken und kriege einen Statuscode 200 OK zurück.
Nur eine Email erhalte ich eben nicht. Also machen die mutmaßlich serverseitig keine direkte Verifizierung, geben mir eine Erfolgsmeldung, scheitern dann aber später daran, die Email auch tatsächlich zu verschicken. Also kann ich mir keinen Account anlegen und damit auch keinen Drucker kaufen.
Es war ein Scheißtag, und jeder Versuch, diesen Scheißtag zu verbessern ist fehlgeschlagen und hat ihn nur noch mehr scheiße gemacht.
PS: Es gibt da diesen Klassiker I Knew How To Validate An Email Address Until I Read The RFC, diesen jüngeren Artikel mit ähnlichem Topic: Your E-Mail Validation Logic is Wrong, und die beste Empfehlung, die ich zur Emailadressvalidierung gelesen habe ist: Akzeptiere alles mit einem @ drin, aber schicke dann eine Email an diese Adresse, um zu verifizieren, dass sie auch ankommt. Den zweiten Teil davon hat Brother implementiert. Den ersten Teil nicht. Also gut, vielleicht warte ich doch auf den OpenPrinter. Einen Laserdrucker hätte ich trotzdem gerne noch, alleine schon für die Erstellung von Stempeln aus Photopolymer.