もくじへ

電子メールの配送について

イントロダクション

いまや、「電子メール」という言葉は一般に広く知られています。 でも、電子メールとは一体何なんでしょうか?

話をちょっと変えて、「手紙」といって何を思い浮かべるでしょうか。 普通、手紙といえば切手を貼ってポストに投函するものを考えるでしょう。 しかし、昔(現在、という方もいらっしゃるかも知れません)学校の授業中、 人から人へノートの切れ端を回したものだって 手紙ですし、また会社の社内便だって立派な手紙です。 これらの手紙は、送り届けられる範囲が教室内(前の方の席だと駄目かも 知れませんね)とか社内とかに限られ、 文章の書き方も特殊だったりはしますが、 ともあれメッセージを送りたい相手に届ける、 という目的は達成しているわけです。 そして、それぞれの中で通用するルール (先生にバレないようにする、とか) があり、 皆がそれを守ってこういうシステムを利用しているわけです。

電子メールにしても同じで、 たとえばパソコン通信の場合の「ルール」、 社内イントラネットでの「ルール」などは、それぞれパソコン通信に よって、また会社によって異なるかも知れません。 しかしながら、「ルール」がいくつもあると不便な場合もあります。 たとえばある会社の人が別の会社に電子メールで品物を注文しようと しても、その2つの会社の「ルール」が違ったらコミュニケーション できず、困ってしまうでしょう。 そこで、世界中誰でもが使うインターネットの場合には、 インターネットメールのルール (RFC; Request For Comments と言われています) がきちんと定められています。 このルールをきちんと守っている限り、 日本どころか世界中の誰からの電子メールであっても (規格上は)読むことが出来ます (言葉が通じないかも知れませんが)。

きちんとしたメールソフトならルールに則って 電子メールのやりとりをするので、 普通のユーザーはこのルールを意識しなくていいようになっています。 しかし、メールに関するトラブルが発生したりすることもあるので、 知っておいて損な事柄ではないでしょう。

ちなみに、会社やパソコン通信の場合、独自のルールで電子メールの やりとりをしていることもあります。 その場合、会社やパソコン通信から電子メールが出て行くときには 自動的にインターネットメールのルールに書き換えるようになっている はずです。逆にインターネットからその社内の人に電子メールが来たら その入口でイントラネットのルールに変換します。 これは、社外あての手紙を総務部に持っていくと切手を貼って ポストに出してくれるとか、 外からの自分あての手紙を自分のところに持ってきてくれるとか、 そういうことと同じです。 なお、この文書においてここから先、電子メールと言ったら インターネットメールのことを差します。

インターネットメール配送のしくみ

ではインターネットメールはどこから、どうやって配送されるのでしょう? よく、同じメールということで郵便屋さんと比較されます。

実際の郵便局では、ポストに投函されたメールに関して、

  1. もしその宛て先が自分の配達区域内なら、その住所に手紙を届ける
  2. 自分の配達区域外なら、その宛て先の管轄郵便局に送る
という作業をしています(実際にはもっと複雑ですが)。

電子メールの場合、郵便屋さんに相当するMTA(Mail Transfer Agent)は、 ポストに投函されたメールに関して、

  1. もしその宛て先が自分の配達区域(サイト)内なら、そのアドレスの私書箱に メールを入れる (該当するアドレスがない場合にはエラーを返す)
  2. 自分のサイトあてでなければ、宛て先のサイトのポストにそのメールを入れる
このように、実際の郵便局と非常に似通った作業をするのがMTAだと いえましょう。 図示するとこうなります。 また、この一連の電子メール配達についての約束事 (実際にはポストにどうやってメールを入れるか、などのことも含みます)を SMTP (Simple Mail Transfer Protocol) といいます。 言い換えれば、SMTPに従って電子メール配送の仕事をするプログラムが MTAなのです。

もちろん、電子メールと実際の郵便とでは、違うところもあります。

まず、郵便の場合には実際に手紙そのものがやりとりされますが、 電子メールでは(FAXなどと同じく)メールの文面だけがやりとりされます。 例えば、いくらスキャナでとりこんだりしても、 1万円札を電子メール経由で送ることはできません (お札をコピーしたりスキャンしたりすることは法律で禁じられている ので注意してください)。 よって、たくさんの人に同じ文面を送るのは簡単で、 メールを作成した人がコピーしたりしなくとも 宛て先さえきちんと指定しておけば 郵便局が自動的に宛て先すべてに同じ物を送ってくれます。

もしもあなたのコンピュータにMTAが動いているなら (つまり、あなたのコンピュータに郵便局があるならば)、 自分のコンピュータまでメールが自動的に届くので、難しいことは 考えずにただ単に届いたメールを読むことが出来ますし、 メールを送るときにも直接自分のコンピュータのMTA(ポスト)に 投函すればいいわけです (たいていのUNIXマシンだとそのようになっている)。 そのかわり、MTAが走っているコンピュータにはいつ何時メールが 来るかわからないわけですから、一年中電源を入れっぱなし、 ネットワークに接続したままという状態にしておかなければなりません。

しかし、パソコンなどでは(例外はありますが)そうはいきません。 そこで、電子メールを出すときにはMTAが動いてるコンピュータに 出しに行き、また受信するときはそのコンピュータに取りに行く、 ということになります。 郵便でいえば、手紙を出すときは郵便局のポストまで出しに行き、 受け取るときは自分で郵便局の自分の私書箱までメールを取りに行く、 と考えればわかりやすいかと思います。

プロバイダなどの説明でもし単にメールサーバーと書いてあれば、 そのマシンでSMTP、POPの両方(つまりポストと私書箱)がある と考えるといいでしょう。

私書箱には、普通、鍵がかかっていて、手紙が他の人に読まれない様に なっています。 この場合も同じで、メールを取りにいくと、アカウント名とパスワードを 聞かれます。 この「私書箱に入ったメールを取ってくる」という一連の手続きは POP (Post Office Protocol) と呼ばれています。 ちなみに、手紙を送るときには先ほど説明したSMTP を使えばいいですね。

郵便ポストの話

手紙を出すとき、普通は自宅の近くのポストから出します。 でも別に遠い町のポストから手紙を出しても問題なく届きますね。 インターネットでいうと、自分のサイトのマシンであろうと 他人の遠いマシンであろうとSMTPがしゃべれさえすれば、 どこのマシンからでもメールを出すことが出来ました (こういう状態をopen relayといいます)。

例えば、何か悪いメール(SPAMなど)を 出す人のことを考えてみましょう。 そういうメールは出来れば自分の近所のポストよりもどこか遠くの ポストから投函したい、と思うかも知れません (そうすれば、誰がやったのかわかりにくくなりますからね)。 それも1通、2通なら別にどうということもないでしょうが、 大量(例えば100,000通くらい)になってくると、郵便屋さんも 大変ですし、またそれに対する苦情にしても、結局郵便局(postmaster) あてに出すしかないわけですから、ポストを使われてコンピュータや ネットワークも使われてさらに苦情が山ほど、という悲しいことにも なりかねません(実際、これに関する実例は枚挙に暇がありません)。

そこで、ポストを限られた人たちにしか開放しない (普通は自サイトのマシンから/へのメールだけしか配送しない) というところが増えています。 郵便のたとえでいえば「このポストはここの町内の人専用」 ということになるでしょうか。

さらに一歩進めて、「open relay の所から来たメールなんかいらないよ!」 というポリシーで運営されているサイトもあります。 もしもあなたのサイト(プロバイダや大学など)がopen relay のデータベース (有名なものとして MAPS (Mail Abuse Protection System)ORBS (Open Relay Blocking System)があります)に載っていたら、 そのポリシーで運営されているサイトにいる人にメールを送っても そこの郵便局に来たとたん、「これは怪しいメールだ」とばかりに 捨てられてしまうこともあります。 もしも上のリストに載っているようなら、あなたのサイトの管理者 (プロバイダなど)に相談してみましょう。

封筒と便せんの話

普通の手紙では便せんにも差出人や宛て先の住所、氏名を書きますね。 しかし、郵便屋さんが手紙を届けるときにはその部分ではなく、 封筒に書かれた住所を見て宛て先の住所を探します。

電子メールの場合にも、それと同じような仕組みになっています。 メールのヘッダ にも From や To という部分がありますが、その部分は いわば便せんに書かれた差出人、宛て先であって、MTAは(基本的には) その部分を参照しません。 ではどうなっているのか。 電子メールには Envelope From とか Envelope To というのがあって、 これがまさに封筒(Envelope)に書かれた差出人、宛て先なのです。 MTAはこの部分を参照し、正しい送り先へと電子メールを届けます。

メーリングリストなどでは、普通ヘッダのTo に自分のアドレスが 書いてないのにメールがきちんと送り届けられますが、それは こういう仕組みになっていたわけです。

残念ながらこの Envelope From や Envelope To を見ることは (普通は)できません。 もしヘッダの中に Return-Path というものがあったら、 それが Envelope From だった可能性が高いですが、確証は持てません。

最後に、Envelope という名前がついていますが、それはあくまで 概念的なものに過ぎません。 電子メールの本文は、実際には(いろいろな方法を使えば) 誰からも見えるような形で送信されています。 ですから、他人に知られたくない様な内容 (何かのパスワード、クレジットカード番号、上司の悪口、ラブレターなど) は電子メールで送らずに電話なりFAXなり郵便なりを使うか、 或いはメールを暗号化して送るのがいいでしょう。

次へ もくじへ


Y. Mimori <mimori@puni.net>
$Id: relay.html,v 1.2 2001/01/16 00:16:39 s-v Exp s-v $