リンク:電子メールの歴史、あるいはメールのバケツリレーについて

SMTPの解説でよく見る「メールのバケツリレー」がなぜ必要なのかわからなかった。だって、TCP/IPなら直接メールを送りたい相手とSMTP通信して送れるじゃないか*1。とはいえ、実際送られてきたメールのヘッダを見ると、いろんなメールサーバを経由している=バケツリレーしている。

どういうことなのだろうと、いろいろ調べてみた。その過程で、かつて使われていた(いまも一部では使われているらしい)UUCPというプロトコルを知る。このプロトコルを利用する場合は、本当にメールを「バケツリレー」で送るそうだ。また、SMTPにおいても、ドメイン内にあるローカルなSMTPサーバと、ドメイン内外の境界に置かれているSMTPサーバ(MXサーバ)との間で、固定的なメール転送(=バケツリレー)を行っているようだ*2

なお、常時接続が当たり前の現在では、リレーを行わず直接メールを送信することも多いそうだ。

sendmail などのメール転送プログラムは、他のマシンから受け取ったメールが自分宛ではない場合には、正しい宛先に向けて転送する機能ももっている。
これはネットワークの状態があまり良くなかった時代、お互いに常時直接通信ができるわけではなかったころに、バケツリレー式にメールを中継して宛先に届けていたころには有用だったが、最近はほとんどの場合転送プログラム間で直接 smtp で通信して配送するようになり、通常はあまり必要がなくなっている。

メールの配送の仕組みについて


同じ疑問を持っている人: http://d.hatena.ne.jp/clock9/20070327/1174985112

参考リンク: http://blogs.manapo.com/email/archives/cat_8.html

そのうち詳しく調べてみたいが、とりあえず今回はリンクだけ。

*1:送付先のホストが起動していて、メールサーバを立ち上げているという前提の下では。

*2:「ゼロからはじめるTCP/IP」、アスキー、2003、pp. 174-177