普段電話代わりに使っている電子メールですが、 実はメールシステムの管理をしている方はいろんな苦労をされています。 中味をすべて覚えろとはいいませんが、ある程度のことを把握しておけば より便利に使えますし、ひょっとしたらシステム管理者さんの負荷の軽減 になるかもしれません。
電子メールはその名の通り、電子の力を借りた手紙です。ここで、通常の 手紙(郵政省メールと呼ばれます)と電子メールの違いについて挙げて みましょう。なお、ここではいわゆるインターネットメールを中心にした 話をします。組織の中(イントラネット)に閉じたメールシステムにおいては この限りではないかもしれません。
項目 | 郵政省メール | 電子メール | 備考 |
---|---|---|---|
料金 | 郵政省で決めている | (見かけ上)タダ | 実際はプロバイダとの契約の中に入っています。 ただし電子メールの場合は通常1通ごとの課金を行いません。 また、学校や会社からアカウントをもらっている人は、 ほんとにタダですね。 |
信頼性 | 日本国内なら、まあ届く | 神のみぞ知る:-) | メールシステムは動いていても、途中の経路が障害になっていれば 当然メールの配送は行われません。 |
到達保証 | 書留? | なし | 今の技術では「本当に本人が読んだか」を確認する手段はありません。 イントラネットのメールシステムでは受信確認の機能を持つものも ありますが、あくまでも「誰かが受信した」ことまでしか分かりません。 あ、よく考えたら郵政省メールでもあんまり変わらないですね。 |
次にメールシステムの動作をみて見ましょう。ここではごく単純に、プロバイダA にアカウントを持つX氏が、別のプロバイダBにアカウントを持つY氏に対して メールを送ることを想定しています。
実際のやりとりを少し細かく書くと、以下のようになります。
X氏の操作
必要であればプロバイダAに電話をかけて、 インターネットにつなぎます
プロバイダA(のメールサーバ)に、書いたメールを送ります。 メール送信の際は SMTP(Simple Mail Transfer Protocol)という手順が 使われます。さらに、この際使用されるサーバを「メール送信用サーバ (またはSMTPサーバ)」と呼びます。
※メールサーバというのはメールを送受信するためのコンピュータです。 WWWサーバなどとは別のマシンかもしれないし、 同一のマシンかもしれません。
必要であれば電話を切ります
プロバイダAの操作
プロバイダB(のメールサーバ)にメールを転送します
※専用線接続なので、ダイヤル操作などは行いません。と、ここまでです。「あれ、それじゃY氏まで届かないじゃないか」 と思われるかもしれませんが、まさにその通りです。Y氏へのメールは メールサーバ内のY氏用のディレクトリに保存されます。
一般的に、プロバイダに溜まっているメールを全然読まないでおくと、 メールサーバのディスク容量を圧迫します。そのため多くの プロバイダではユーザ1人あたりのディスク容量を制限しています。 この容量を越えて受信したメールは破棄されます。
Y氏の操作
必要であればプロバイダBに電話をかけて、 インターネットにつなぎます
プロバイダB(のメールサーバ)に対して 「自分に何かメールが来てませんか?」と問い合わせを行います。 メール受信の際は POP(Post Office Protocol)という手順が 使われます。またメール受信の際に使われるサーバを、特に 「メール受信用サーバ(またはPOPサーバ)」と呼ぶ場合があります。 これはメール送信用サーバと異なる場合もあります。
★プロバイダがメールの到着を知らせてくれるわけじゃありません。
プロバイダBの操作
Y氏宛にメールが来ていればそれをY氏に転送し、 なければ「メールはありません」と返事をします。
Y氏の操作
必要であれば、電話を切ります
「プロバイダBはメールの到着を教えてくれないのか。何て不親切な。」 と思われるかもしれませんが、プロバイダから知らせることを考えると いろいろな問題がありますね。
またX氏にとっては、別にプロバイダAを介さなくても、メールを直接宛先の プロバイダBに送信してもよさそうです。実際以前はそうやることも可能な 場合がありました。ただしこれは、別の問題をはらんでいます。
たとえば悪意の第3者が、プロバイダBに所属する不特定多数の人に DM(ダイレクトメール)で宣伝メール(SPAM(スパム)メールと呼ばれる) を送りつけたいとします。直接任意のプロバイダのメールサーバに送信を依頼 することが可能であれば、To: (宛先)に数千人のメールアドレスを書いて プロバイダBに送りつければ、それは勝手に数千通のメールになって配送 されてしまいます。受け取った方も迷惑ですし、送るためのメールサーバにも 負荷がかかり、そのため多くの会員に迷惑をかける恐れがあります。 このように、不特定多数からのメールの配送依頼を受け付けることを、 Third Party Mail Relay (第3者からのメール中継)といい、 インターネット上では決してやってはならないことになっています。
また万が一相手先のプロバイダが一時的にメールを受け付けてくれなかった 場合、送信元のX氏(のコンピュータ)はどうすればいいのでしょうか? そのメールを送信エラーにすることは簡単ですが、それではユーザは 嬉しくありません。できればユーザとしては、自分の預かり知らないところで 勝手にリトライして、何とか相手先にメールを届ける努力をして欲しいものです。 実際にメールサーバはこのような再送処理もやってくれます。このような 処理をクライアント側に押しつけるのは酷ですね。
そういうことで、文にしてみると結構しち面倒くさい手順を踏んで メールのやりとりを行っていますね。でも、気軽に使えてほとんど コストがかからないので、今の世の中になくてはならないものに なってしまいました。