2006年7月6日木曜日

メールアドレスに使える文字

 ウェブサイトの投稿フォーム類でメールアドレスを入力することがあると思います。どこかのショッピングサイトしかり、何かの会員登録しかり。この時、何をとち狂ったのか、そのメールアドレス入力フォームに「foo+bar@hogehoge.com」というような文字列を入力して投稿すると、不正なメールアドレスとして棄却されることがあります。

 RFC2282を読めば分かるとおり、メールアドレスの@より前の部分(RFC2282では"local-part"と呼称している)には、ASCIIコード内の文字の内、0x00から0x1fそれと0x7fの制御文字と0x20のSP、そしてspecials以外の文字は全て利用できます(specialsには"."が含まれますが、他のセンテンスで"."は利用可能と上書きで定義されています)。従ってRFCに従うならばメールアドレスには!"#$%&'+*~=といった記号は使えますし、もちろん「foo+bar@hogehoge.com」もRFCに準拠したメールアドレスです。

 なぜこんなことを書くかというと、DACのPL参加申し込みフォームがまさにこれだったんですよね。"+"記号を含んだメールアドレスを入力したら不正なアドレスとして破棄されてしまいました。あの入力フォーム、IMEで文字入力確定の為にEnterを押すと何故か登録確定と認識されてしまうし(これは僕はDebian GNU/Linux+Firefox+uim-skkというマイノリティな環境だからかもしれない)、全体的に作りこみが甘いですね(或いは仕様が変)。まあ商品として作っているわけでもないんでしょうから、そこまでのクオリティを求める方が酷だという意見もあろうかと思いますが、僕はイライラしました(2回も入力を破棄されたので)。



0 件のコメント:

コメントを投稿