ネットで学ぼうインターネット入門

連載 第14回  メールが届くしくみ


 前回はインターネットの電子メールシステムの概略について解説しました.
 送り主が作成した電子メールは,さまざまなプロトコルを介して受け取り主まで届けられます.今回は,電子メールが受け取り主の郵便受けの役目をするサーバに届くまでのしくみを解説します.普段利用しているメールソフトは使わずに,Telnetというコマンドを使って実際にメールを手動で送る実験を行いながらメールを配送するSMTPを解説します.そして届いたメールのヘッダの詳細と,そこから読み取れる情報について解説します.


メールが届くしくみの復習

 現在のインターネットでは,図1のようにして電子メールが送り主から受け取り主まで配達されます.
 送り主はメールソフトで送りたいメールを作成します.メールソフトに送信を指示すると,メールソフトはSMTPを使ってメールサーバに送信します.このとき送信先となるメールサーバは,インターネットプロバイダから指定されたものを使います.
 メールを受け取ったメールサーバは,受け取り主にメールを届けるためにはどのメールサーバに送ればよいかを,受け取ったそのメールからだけでは判断できません.このときメールサーバは,受け取り主のメールアドレスのドメイン名から,送信先のメールサーバを決定しますが,この詳細は次の節で解説します.
 送り先が決定したら,メールサーバはSMTPを使ってメールを次のメールサーバに送信します.このようにして,メールは次々とメールサーバによって中継されて,受け取り主の郵便受けのあるメールサーバに到着します.

 
〔図1〕電子メールが配達されるしくみ

図1



送信先メールサーバを決める3つの方法

 メールサーバには図2のように2つの働きがあることがわかります.その1つはSMTPによってほかのコンピュータから受け取ったメールの受け取り主が,自分(自サーバ)の郵便受けにいる場合には,図2の(1)のように受け取り主の郵便受けにメールを保存します.
 また,自サーバに受け取り主がいなかった場合は,(2)のように次のメールサーバにそのメールを送信します.その際,どのメールサーバに送ったらよいかは,次のような3つの方法によって決定します.


〔図2〕メールサーバの2つの動作

図2


@ 静的配送
 メールサーバの設定ファイルの中で,このドメイン名は,このメールサーバという情報を指定する方法で,強制的にメールサーバを指定するときに使います.これは図3のように,いったんファイヤウォールの外側のメールサーバで,すべてのメールを受け取った後,各部署のメールサーバにメールを配送するときによく使われます.


〔図3〕静的配送の例

図3




A MX配送  
DNSのMXという情報によって,送信先のメールサーバを決定する方法です.DNSでは,ホスト名からIPアドレスに変換(正引きと呼ばれる)したり,IPアドレスからホスト名に変換(逆引きと呼ばれる)することができます.さらにドメイン名から,そのドメイン名のメールを受信するメールサーバのホスト名に変換する機能があります.
 図4はあるDNSサーバの設定ファイルの例です.この中でMX(Mail Exchanger)という行が,このドメインのメールサーバを表しています.あるドメインのメールを受信するメールサーバが1台しかないと,そのメールサーバが停止してしまったときに,まったくメールを受け取ることができなくなってしまいます.このため2台以上のメールサーバを設置して,万が一,1台が停止しても,ほかのメールサーバが肩代わりできるように,システムを構築することができます.
 2台以上のメールサーバがある場合,どのメールサーバにメールを送ったらよいのかを決定しなくてはなりません.そのため,各メールサーバに優先順位を付けて,より優先順位の高いメールサーバでメールを受信することができるようになっています.
 この優先順位を決定するのが,preferenceという情報です.このpreferenceの値が小さいほど,優先順位の高いサーバであることを表します.図4の例では,mail 1が10,mail 2が20ですので,優先順位が高いのはmail 1となります.もしあるメールサーバが,mail 1にメールを送信しようとして,mail 1とうまく通信できなかったときは,次のmail 2にメールを送信しようと試みます.


〔図4〕DNSサーバ(BIND)の設定の例

図4


B ホスト名配送
 受け取り主のメールアドレスのドメイン名の部分をホスト名と見なして,そのホスト名のメールサーバに送信する方法です.先の@やAの方法で送信に失敗したときに,最終的に使われる方法です.ドメイン名と同じ名前のホスト名のメールサーバがあるとは限りません.「できるだけメールが配送できるように努力する」という方針によって,ホスト名配送は「だめでもともと」の覚悟で送信を試みる,という位置付けです.
 これらの@,A,Bの順番で,送信先のメールサーバが決定されます.もしどの方法を使っても送信先のメールサーバとうまく通信できなかった場合には,いったんメールの送信を中断します.そして一定時間(通常は1時間程度)経った後に,もう一度送信を試みます.これを数回繰り返して,それでも送信がうまくできなかったときは,送り先のメールサーバに異常があると判断して,送信を中止します.そして送り元に対して,送信ができなかったことを知らせるメールを送信します.



 CQ出版 TOP OPENDESIGN TOPOPENDESIGN Online目次に戻る   
Copyright CQ Publishing Co.,Ltd. 1997-2001