電子メール
目次
電子メール
電子メールは、仕事でもプライベートでももう必須といっていいほど普及しているツールですね。地理的に遠く離れていても、たとえ時差があって昼と夜とが逆転していても関係なく電子メールを使ってメッセージのやり取りをすることができます。この「ネットワークのおべんきょしませんか?」も電子メールでみなさんのお手元に届いています。
電子メールのプロトコル
電子メールをやり取りするためには、送信用のプロトコルと受信用のプロトコルの2つを利用します。送信用として一般的なのが、SMTP(Simple Mail Transfer Protocol)です。また受信用として一般的なプロトコルは、POP3(Post Office Protocol ver3)です。最近では、受信用プロトコルとしてIMAP(Internet Message Access Protocol)も使われることがありますが、一般的なのはやっぱりPOP3ですね。SMTP、POP3の階層構造は次の通りです。SMTPはポート番号25、POP3はポート番号110を使っています。
電子メールのやりとり
では、このSMTPやPOP3を使って、どのように電子メールのやり取りがされているのかを見ていくことにしましょう。ごく簡単なネットワークを例にして考えます。
a-company.co.jpドメインとb-company.co.jpドメインの2つのドメインがあります。a-compnay.co.jpドメインのuser1というユーザ(A)から、b-company.cojpドメインのuser2というユーザ(B)にメールを送信するケースです。各ドメインのメールサーバは「mail」というホスト名がつけられています。user1やuser2が使っているPCのメールソフトの設定で、メールサーバのホスト名が設定されています。
最初に送信元のAというPCからDNSサーバに「mail.a-compa-y.co.jpのIPアドレスは?」という名前解決の問い合わせが送信されます。DNSサーバがその問い合わせに応えてメールサーバのIPアドレスを教えます。
メールサーバのIPアドレスがわかれば、AはSMTPを使ってメールをメールサーバに送信します。受け取ったメールサーバは、メールの送信先メールアドレスから次に送るべきメールサーバを見つけ出さなくてはいけません。このときにメールアドレスの「@」から右側の部分を使います。
自分のドメインのDNSサーバに対して「b-company.co.jpのメールサーバは?」という問い合わせを送信します。ですが、自分のドメインのDNSサーバはb-company.co.jpドメインのメールサーバはわかりません。すると、以前にもDNSの回でお話したように、ルートからDNSの階層構造を下にたどっていってb-company.co.jpのDNSサーバに「b-company.co.jpのメールサーバは?」という問い合わせを行います。そして、b-company.co.jpのメールサーバのホスト名やIPアドレスを教えてもらい、問い合わせをしてきたサーバに返信します。
次に送ればいいメールサーバを教えてもらったSMTPを使ってmail.b-company.co.jpにメールを転送します。mail.b-company.co.jpはメールを受け取るとuser2用のメールボックスの中にそのメールを格納します。
あて先である[email protected]のユーザは、自分のメールサーバに対してPOP3を使って「ぼく宛のメールある?」と聞きます。メールボックスにメールがあれば、そのメールをダウンロードしてきてやっとメールがあて先に届くという仕組みになります。
このようにメールを送信するときには、自分のメールサーバあてにSMTPを使います。あとはメールサーバが目的のメールサーバまで届けてくれます。メールを受信するときには、メールサーバにメールが届いているかを問い合わせて、届いていればPOP3でメールをダウンロードしてくるというわけですね。
昔々であれば、直接PC同士でSMTPを使ってメールの送信をしていたんですね。ですが、送りたい相手がずっと電源が入っていてアプリケーションが起動していないとメールを送ることができないわけです。そこでいつでも起動しているメールサーバを介してメールをやり取りするというシステムになってきています。
メールのあて先が複数ある場合は、そのあて先の数だけメールサーバが同じようにメールの送信を行っています。マルチキャストを使っているというわけではないです。(このあたりはマルチキャストをうまく使うことができれば、もっと効率よくなるんじゃないかなぁって思わないでもないですけどね)