今月は電子メールの送信と受信に利用するプロトコルについて説明します。両者は別々のプロトコルを使っています。
メーラー、サーバーのどちらもSMTPで送信
電子メールの配送にはSMTP(simple mail transfer protocol)というプロトコルが使われます。ユーザーがOutlook Expresss(アウトルックエクスプレス)やEudora(ユードラ)といったメール・クライアント・ソフト(メーラー)を使ってメールを送信するプロセスを見てみましょう(pict.1)。
まずメーラーはメール・サーバーと接続します。このとき、メーラーはクライアントとして動作し、SMTPで決められた単純なコマンドのやりとりでサーバーにメールの配送を依頼します。具体的には、送信元のコンピュータのドメイン名、送信者、あて先のメール・アドレスを伝えたあと、メールのヘッダーと本文を送るという手順になります。
メール・サーバーは、クライアントから配送を依頼されたメールのあて先アドレスを基に、そのメールを受け取るべき適切なメール・サーバーをDNS(domain name system)を使って調べ、メールを転送します。このとき、送信元とあて先メール・サーバーの間の通信にもSMTPを使います。送信元メール・サーバーがクライアントとして動作するわけです。
SMTPはもともと、テキスト・データだけをやりとりする目的で設計されました。そのためSMTPは、やりとりするコマンドはもちろんメールの内容(データ)もテキスト・データとして扱います。最近のメールは画像や音声といったデータも送れますが、これはデータをいったんテキストに変換して送付し、受信側で元に戻しているのです。このときにはMIME(マイム:multipurpose internet mail extentions)というフォーマットを使います。
またSMTPのメール配送はテキストなので、第三者が送信途中のデータをのぞき見しようとすれば簡単に中身を見ることができます。電子メールで秘密にしたい情報を送る場合は、送信する前に暗号化しておく必要があります。