LinuxServer 電子メールについてもう一度… メールアドレス
メールは、相手先の宛名と住所が分かっていないと送る事は出来ません。
当然ですね。(^^;
今更ですが、相手先の宛名と住所の事をメールアドレスと呼びます。
[divider]
メールアドレスの意味
メールアドレスはusername@net.co.jpのような形になっており、意味合いはこの2つです。
- @の左側は「ローカルパート」と呼ばれ、利用者(クライアント)のメールボックスを表します。
- @の右側は「ドメイン」と呼ばれ、利用者が使用するメールサーバーが働いているホストを、管理している組織ごとに決まっています。
メールにまつわるエトセトラ
メールアドレスの決め方
メールアドレスは「ローカルパート@ドメイン」という形になっていますが、
メールアドレスの決め方には一定の決まりが有ります。
メールアドレスだけでなくインターネットでは、決まりをまとめた文書があり、
この文書をRFCと呼びます。
メールアドレスに関するRFCはRFC 5321 (Simple Mail Transfer Protocol)および
RFC 5322 (Internet Message Format)が存在し、メールアドレスに使用できる文字が
定義されています。
ローカルパートはユーザーが決める事が出来ますが、使える文字には制限が有ります。
まず、使える文字数は64文字以内に収めます。
使える文字種類ですが、英数字と指定された
記号(! # $ % & ‘ * + – / = ? ^ _ ` { | } ~)が使えます。
なお、記号についてはプロバイダ等で使用を制限している場合が有ります。
また、ピリオド(.)については文字列中に使用する事は出来ますが、
ローカルパートの先頭や末尾に置いたり、2個以上連続させる事は出来ません。
#数年前までは携帯電話のメールアドレスでピリオドを連続して使えた事が
#ありましたが、最近では使えなくなっています。
英字について、本来は大文字と小文字は区別されますが、
実際には区別されていない事が多く、一般的には小文字が使われます。
ドメインパートでは、英数字と記号(-)が使えますが、
通常メールサーバを管理する企業やISP(プロバイダ)などの組織ごとに
決まっているのでユーザが変更したり、書き加えたりする事はありません。
相手のメールサーバはどう見つけてる?
クライアントから送信されたメールは、メールサーバが送信相手の
メールアドレスを確認し、送信相手のメールサーバへ配送します。
メールサーバは送信相手のメールサーバをどのように見つけているのでしょうか。
メールアドレスの@の右側はドメインパートになります。
このドメインパートは、企業やISP(プロバイダ)等に付けられる名前で、
特定のメールサーバを指定してません。
メールサーバも特定の名前(ホスト名)を持っており、送信相手のメールサーバへ
直接メールを送信することも可能です。
しかし、メールアドレスのドメインパートでは、大抵ドメイン名のみ指定されています。
では、どうやって、ドメイン名から送信相手のメールサーバを見つけているのでしょうか。
ここで、登場するのが「DNS」という仕組みです。
メールサーバーはDNSを利用することで、送信相手のメールサーバーを特定し、
メールを配送します。
DNSはインターネット上のメールサーバの名前(ホスト名)から
IPアドレスを引き出したり、逆にIPアドレスからホスト名を
引き出すことができます。
また、指定されたドメインが使用しているメールサーバの
ホスト名を引き出す機能があります。
DNS上ではドメインが使用するメールサーバをMX(Mail eXchange)レコードとして
登録しており、送信元のメールサーバはDNSを利用して、MXレコードを引き出し、
送信相手のメールサーバを特定し、メールを配送します。