テクノ雑学

第140回 スパムメール対策 — 前編 電子メール送受信の基本 —

みなさんは、一日に何通ぐらいの電子メールを送受信していますか? 筆者の場合は仕事柄もあって、少ない時でも10通程度は送信しているでしょうか。受信となると、各種のメールマガジンや迷惑メール(以下「スパムメール」とします)まで含めると、100通程度は下らないと思われます。

 インターネットの普及が日常生活にもたらした変化は数多くありますが、中でも電子メールの影響は大きなものがあります。手軽で即時性のあるコミュニケーション手段としてたいへん優れていることに加えて、各種の情報を物理的な制約と無関係にやりとりできることは画期的でした。昔は紙に印刷したり、フロッピーディスクなどの記憶媒体に保存してから、手渡しや郵送でやりとりしていたものが、電子メールならファイルを添付して送信するだけですから、手間も時間もコストも大幅に軽減できます。

 電子メールは誰にとっても便利なものだからこそ、スパムメールが蔓延するといった面もあります。とはいうものの、筆者に限らず、もはや電子メールのない生活は考えられない、という人も少なくないでしょう。そこで今回は、インターネット上で電子メールを送受信するための基本的な仕組みについて触れてみたいと思います。
 

電子メールシステム誕生

世界初の電子メールシステムは、1961年にアメリカのマサチューセッツ工科大学で開発されたOS「CTSS(Compatible Time-Sharing System:互換タイムシェアリングシステム)」が実装した、その名も「MAILBOX」というプログラムとされています。システムの中核をなす大型コンピュータの中に、端末からアクセスするユーザーごとのメールボックスを備えていて、相互にメールをやりとりできるというものでした。これは、パソコン通信の時代に使われていた電子メールの仕組みそのものと言うことができ、他のネットワークとはやりとりできない点も同じです。

 2台の大型コンピュータの間で電子メールの送受信に成功した初めての例は、1972年、アメリカのプログラマーであるレイ・トムリンソンが、インターネットの原型と言われるARPANET(Advanced Research Project Agency:アメリカ国防総省・国防高等研究計画局が構築していた広域コンピュータネットワーク)に接続された2台のコンピュータの間で行った実験とされています。トムリンソンは、もともとネットワークを介してファイルを転送する仕組みの開発を行っていたのですが、それを改良し、電子メール送信プログラム「SNGMSG」と、受信プログラム「READMAIL」によって、この実験を成功させました。その後、Unixによる相互接続型ネットワーク上で用いられたUUCP(Unix to Unix Copy Protocol)といった仕組みを経て改良され、現在、私たちが使っている電子メールシステムへと発展してきました。
 

■ 意外と情報のやりとりが多いメール送信



 現在の電子メールを成立させている最も基本的な仕組みは、SMTP(Simple Mail Transfer Protocol)ならびにPOP(Post Office Protocol)という、2つの通信手順です。SMTPはメールの送信、POPは受信に用いられます。POPは現在、バージョン3が用いられているので「POP3」と表記されることもあります。

 インターネットに接続するためにISP(Internet Services Provider:いわゆるプロバイダ)と契約すると、ほとんどの場合、ISPからメールアドレスが提供されます。このアドレスは、「そのISPのメールサーバに直接アクセスして、電子メールをやりとりする権利」と考えていいでしょう。
 パソコンやケータイにインストールされた電子メールソフトは、ISPのメールサーバに対して「このメールを○○さんに送ってください」「私宛てのメールを届けてください」といったサービスを依頼し、提供を受けるためのプログラムで、ネットワーク用語的には「メールクライアント」や「MUA(Mail User Agent)」などと呼ばれます。ここでも、これ以降はMUAと呼ぶことにします。

 メール送信の流れを説明しましょう。AさんがBさん宛てにメールを作成して、MUAの「送信」ボタンをクリックすると、MUAはリクエスト先に指定されているメールサーバ(Aさんが加入しているISPのメールサーバ)に対して、「このメールを、Bさんのメールアドレスを管理している外部のサーバへ届けてください」とリクエストします。メールサーバの上で作動している、メール送信用プログラムMTA(Message Transfer Agent)は、MUAからのリクエストに対する返信を、Aさんのパソコン上のMUAに送ります。


 なお、話をわかりやすくするため、これ以降はISPを「ドメイン」と呼び換えることにします。インターネット上で使われるTCP/IPでは、接続されている機器をIPアドレス(192.168.0.255 といった数字の組み合わせ)で識別していますが、これを「www.tdk.co.jp」のように一般的な文字列で扱えるようにしたものがドメインと考えてください。

 

■ 臨機応変に対応できる仕組み

 次にメールサーバ上のMTAは、メールの送信先を調べるため、DNS(Domain Name System)サーバを参照します。DNSは、ドメイン名に割り当てられているIPアドレスを調べるためのデータベースで、その中にはMX(Mail eXchange)レコードと呼ばれる、各ドメインのメールサーバに関する情報が登録されています。つまりMTAは、DNSを参照することで、メールの送信先であるBさんが使っているドメインのIPアドレスを調べるわけです。ほとんどの場合は、ここでBさんの使っているドメインが判明するので、Aさん側のMTAは、Bさん側のMTAが使っているIPアドレスにメールを送信します。

 ここで「あれ?」と思った方も多いかもしれません。一般的には、「インターネット上のメールはバケツリレー方式で、外部のMTAを次々と中継しながら送信される」とされていることが多いからです。
 以前は、たしかにそのような方式が基本になっていました。その理由は、前述したUUCPにあります。UUCPは電話回線を通じてファイルを転送することを前提にしていたのですが、なにぶん電話回線ですから、通信したい相手と常に直接やりとりできるとは限りません。そこで、まずはその時に回線がつながっているMTAへ、そして次のMTAへ……とバケツリレー的に転送していくことで、確実に送受信できるようにしていたのです。しかし現在は常時接続が基本ですから、バケツリレーの意義は薄まり、送信先のMTAと直接やりとりして送信することが一般的になっています。
 また、バケツリレー式の転送を可能にするためには、それぞれのMTAが誰からの接続要求にも応じる状態であることが不可欠です。しかし、その状態では第三者に悪用され、スパムメールやなりすましメールなどの踏み台にされてしまう可能性が否定できません。その対策上からも、バケツリレー式は都合がよろしくないのです。
 ただし、現在でもバケツリレー的に送信される場合もあります。サーバダウンなどの理由で送信先のMTAが反応できなかったり、MXレコードに非常時の転送先として補助的MTAが指定されている場合などです。リレーをするか否かといった事柄は、SMTPの「RCPT」コマンドの記述によって判断されます。

 MTA間のやりとりにもSMTPが使われ、やはりリクエストと返信のコマンドによって、メールがどのように扱われたかを確認しながら送信されていきます。たとえば、送信先のサーバが一時的に稼動停止状態などと判断された場合は一時保存状態としておき、一定の間隔ごとに再送信を試みる、といった仕組みが組み込まれています。
 

■ 慎重に仕分けされる受信メール



 さて、Bさんが使っているドメインのMTAに送信されたメールは、その内部でどのユーザー宛てのものかを判断され、私書箱のようなものに収納されます。ここまでは「プッシュ型」の配信ということになります。送信先のMUAまで一気にプッシュしないのは黎明期の名残りで、昔はパソコンそのものやMUAを常時起動しているとは限らなかったためです。ちなみにケータイなどの場合は、独自の通信手順を使って一気に端末までプッシュしてしまうので、「プッシュメール」などと呼ばれます。

 ここから先は、SMTPではなくPOP、もしくはIMAP(Internet Message Access Protocol)という手順を使います。POPやIMAPを使う理由は、SMTPには基本的にユーザー認証の仕組みがなかったことに加えて、前述の通り常時接続ではなかった頃の名残りです。POPはMTAに対して、自分のメールボックス内に未読メールがあるかどうかを問い合わせ、ある場合は送信をリクエストします。MTAはそのリクエストを受けて未読メールのデータを送信、MUAがそれを受信することで、BさんはAさんからのメールを読むことができるわけです。


 メール受信に際して、MUAとMTAの間ではこのようなやりとりが行われています。受信済みメールをサーバ上に残しておくかどうかなどは、MUA側の設定で決めることができます。

 さて、ここまでに書いたことは、本当にごくごく基本的な事柄でしかありません。現在、私たちが使っている電子メールシステムには、より確実な送受信とセキュリティ確保、そしてスパムメール対策などの観点から、高度な仕組みが続々と投入されています。それらについては次回以降で取り上げたいと思います。


著者プロフィール:松田勇治(マツダユウジ)
1964年東京都出身。青山学院大学法学部卒業。在学中よりフリーランスライター/エディターとして活動。
卒業後、雑誌編集部勤務を経て独立。
現在はMotorFan illustrated誌、日経トレンディネットなどに執筆。
著書/共著書/編集協力書
「手にとるようにWindows用語がわかる本」「手にとるようにパソコン用語がわかる本 2004年版」(かんき出版)
「記録型DVD完全マスター2003」「買う!録る!楽しむ!HDD&DVDレコーダー」「PC自作の鉄則!2005」(日経BP社)
「図解雑学・量子コンピュータ」「最新!自動車エンジン技術がわかる本」(ナツメ社)など

TDKは磁性技術で世界をリードする総合電子部品メーカーです

TDKについて

PickUp Tagsよく見られているタグ

Recommendedこの記事を見た人はこちらも見ています

テクノ雑学

第141回 「光の道」を通るのは何? 〜光通信の仕組み〜

テクノ雑学

第142回 スパムメール対策 — 後編 最新事情とその対処法 —

テクノ雑学

第101回 雨を降らせて晴れを作る -人工降雨の技術-

PickUp Contents

PAGE TOP