「正しい」メールアドレス

「正しい」メールアドレスとは?

あなたはメールを間違えて送ったり、間違えて登録してしまったことはありませんか?
今回はメールアドレスの「正しさ」について研究してみました。

さて、タイトルにある「正しい」メールアドレスとは何ぞや。
「メールが間違いなく意図した宛先にちゃんと届く」ものが「正しい」メールアドレスだといえます。
メールソフトではメール送信前に指差し確認をビシッと決められれば、もうあなたは立派なネチケッターです。

ではWEBサイトの場合はで会員登録する場合は誰が正しいメールアドレスかどうかを判断しているでしょうか?
システムが自動的に入力された内容を判断してくれます。
「これはメールアドレス」「これはメールアドレスじゃない」「これはメールアドレス」・・・・・

がんばり屋さんですね。陰でささえる大和撫子のようです。
でもここで、さらにギモンが浮かびます。

「システムはどうやってメールアドレスかどうかをチェックするの?」

システムは勝手に考えてくれる訳ではありません。根っからの指示待ち野郎なんです。
プログラマが「こういうパターンならメールアドレスとして扱ってね」という指示をプログラムとして書くことで、初めて処理を行ってくれるのです。
ただ、メールアドレスというのはなかなか厄介なので、あまりきついチェックをかけると本当に存在するメールアドレスまでエラーになってしまうこともあり、そこにジレンマがあります。

まず、間に「@」があることは前提ですが、その「@」より前で分けて考えてみましょう。

左側は英数字や記号でできています。アカウント名やIDなどと同じことが多いです。こちらは英数字や記号が使用でき、ユーザが結構勝手に決められるものです。

続いて右側はドメイン名です。こちらはある程度パターンが決まっています。
yahoo.co.jpやgmail.com、so-net.ne.jpなどといったものがありますが、前半の「yahoo」「gmail」「so-net」などは会社やサービス名、サイト名などが多いでしょう。そして後半の「.com」「.co.jp」「.ne.jp」はあらかじめ決められたパターンに従っています。

では、いざメールアドレスかどうかのチェックをするときに「.co.jp」か「.com」か「.ne.jp」で終わっていればOK!という訳にはいきません。他にも「.net」「.tv」「.co.uk」「.in」「.info」・・・などいろいろとパターンがあり、増えることもあるのです。

そうした状況を踏まえ、「@」より右側のチェックは
【1】英数字・記号が何文字か続く
【2】その次に「.+英数字何文字か」
【3】2のパターン繰り返し
(※実際には順にチェックするのではなく「正規表現」という曖昧検索のような方法を使って1回のチェックで終わらせることもできます)
というざっくりしたチェックを通れば立派なメールアドレスとして処理されます。
チェックが厳し過ぎるよりは多少緩い方がリスクを回避できるし、メンテナンスも楽だという考え方です。

ただチェックが緩いが故に弊害も出てきます。
例えばヤフーBBでプロバイダ契約すると以下の2つのメールアドレスが使用できます。(xxxxxはユーザ毎に異なります)
xxxxxx@ yahoo.co.jp
xxxxxx@ ybb.ne.jp
このとき、間違えて以下のように入力したとしましょう。
xxxxxx@ ybb.n.jp
先ほどのチェックをすり抜けメールアドレスだと判定されてしまいますが、この「ybb.n.jp」というドメインは存在しません。このユーザはフォームの入力が終わっても何のメールお知らせもなく、サイトへログインもできないでしょう。

次に2つのメールアドレスがごちゃまぜになった
xxxxxx@ ybb.co.jp
といったメールアドレスで登録してしまっているケースを見受けます。
本当はヤフーBBの「ybb.ne.jp」と入力したかったんだろうなぁと思いますが、実際に「ybb.co.jp」というドメインが存在しているので断定することもできません。

さて、結論です。
メールアドレスはどこまでチェックするか?という問題と、間違っている可能性は高いけれども断定できない!という問題の2つ出てきました。

まずメールアドレスのチェックをどのようにするかという問題は、使える文字をある程度余裕を持って限定し、パターンとしては緩めにチェックするというのが現実的な対処法といえるでしょう。
かなり正確に作られたチェックパターンも公開されていますが、パッと見では内容を理解できないこと(その長さは6,598バイト)、そこまでやる必要が一般的にはあると思えないことから、お勧めできません。

次に間違っている可能性の高いケースへの対処ですが、これは登録内容の確認画面で「ybb.co.jp」などであれば「ヤフーBBのアドレス(ybb.ne.jp)ではないですか?」といった旨の内容を表示しそれに対して「修正する」ボタンを押すことで自動的にメールアドレスを書き換えて再度確認画面を表示するということで対応します。

ブックマークプラス by SEO対策