エンジニアが陥りがちな「メールアドレス」の誤解と真実
Lies We Tell Ourselves About Email Addresses
Lies We Tell Ourselves About Email Addresses
メールアドレスの検証や扱いは、一見シンプルに見えて実は罠だらけです。RFCの仕様や現実世界での使われ方を無視して実装を進めると、後々大きな技術的負債やユーザー体験の低下を招きます。正しい設計と実装のためのベストプラクティスを解説します。
すごく深い分析だった。納得できるアドバイスが多いし、ここまで的確に書かれている記事はなかなか無いよ。もしこの記事が気に入ったなら、僕が書いた同じテーマの記事も面白いと思うよ。正規表現についても触れてるからね(有効なユースケースもいくつかあるんだ):https://hackernoon.com/on-the-practicality-of-regex-for-emai... (https://hackernoon.com/on-the-practicality-of-regex-for-email-address-processing)
「メールは即座に届くから、送ったリンクをユーザーが1分以内にクリックしてくれるはず」っていう嘘。それから、「ユーザーはログイン中の端末と同じデバイスでメールを読むはず」っていう嘘。あと「ユーザーはHTMLメールを必ず閲覧できるからプレインテキスト版なんて送る必要はない、特に自分が送りたいクリックURLが長くて複雑な場合は」っていう嘘。最後に「メールで送るクリック可能なリンクはパスワードより安全だからパスワード認証を廃止して、ログインは全部メールのリンク経由にするよ。最初にそのリンクをクリックしたやつが、間違いなくログインしたかった本人だろ」っていう嘘も追加しておこう。
プラス記号の件は僕もすごくイライラする。でも、ひどいサイトをリストアップするのはやめたんだ。数が二桁になっちゃったからね!