Gmailでは登録したメールアドレスとは別に、ユーザー名部分の任意の箇所ににピリオドを付ける、あるいは「+abc」のように+と文字列を加えたものについても、実際には登録したメールアドレスに届くという隠し機能がある。これは『1つのGmailアドレスを複数アドレスのように使う方法が便利そう。』(Serendipity bolg.)が詳しいので割愛するが、どうしてそれが出来るのか、私なりに勝手な憶測ではあるが、見解を書いてみたい。
個人的にはUNIXシステム系のユーザー名の制約と絡んでいて、なおかつそれを逆手にとって利用しているのではないのかと読んでいる。
まず、UNIX系のユーザー名に使える文字は以下の制約がある。
- 半角英数字
- 半角アンダースコア
一方、Gmailでは以下の制約がある。
- 半角英数字
- 半角アンダースコア
- 半角ピリオド
それぞれのユーザー名で使える文字は半角ピリオドの有無の違いに止まっている。また、すでに登録されたGmailアカウントとピリオドの有無のみが違う場合は登録できないとのことである。
これを考えた時、Gmailへ送られたメールのやり取りを行う際は以下の処理が行われているようである。
- 半角ピリオドを無視する
- プラスおよびそれ以降の文字列を無視する
- 上記の上で、対象のユーザー名と一致するユーザーにメールを送信する
この際、ピリオドの有無で重複するユーザーが存在しそうだが、実際にはGmailアカウントではユーザー登録の際にピリオドを無視した上で重複チェックを行うため、重複することはないようである。
これらのことを考えると、UNIXシステム系のユーザー名の文字制限と矛盾することはないと考えられる。逆を言えば、UNIXシステム系であれば、MTAの設定次第でGmailのようなメールアドレスのやり取りを行うということもできるということになりそうだ。
ウェブマスター。本ブログでITを中心にいろいろな情報や意見などを提供しています。主にスマートフォン向けアプリやウェブアプリの開発を携わっています。ご用の方はコメントかコンタクトフォームにて。