PR

図5 解剖「シーン3:メール・サーバー間で転送する」
SMTPを用いるなど,基本的にシーン2と同じである。図では,エラーが発生した場合の返信コードを示した。OKを表す「250」以外の返信コードを受け取ると,メール・サーバーはその時点でメールの送信をストップし,エラーが発生した旨を記述したメールを送信者あてに送り返す。なお,(1)のDNSにアクセスする手順だけは,シーン2と異なる。
 シーン3は,メールを受け取ったメール・サーバーが,あて先近くのメール・サーバーを探し出して転送する部分である。一斉同報メールの場合は,一つのあて先ずつ切り出して処理し,あて先の数だけ繰り返す。シーン3も,シーン2と同様にSMTPを使ってメールを送信する。このため手順は,図中の(2)~(8)はシーン2とまったく同じだ。使うコマンド文と返信コードも変わりない(図5[拡大表示])。

 唯一の違いが,(1)のDNSサーバーにアクセスする手順。シーン2では,DNSサーバーにメール・サーバーのホスト名を照会した。ところがシーン3では,メール・アドレスの@の後ろに付いているドメイン名を切り出して照会する。

 ドメイン名に対応したIPアドレスって何?―。こうした疑問が浮かぶかもしれない。実はドメイン名を照会して教えてもらえるのは,IPアドレスではなくメール・サーバーのホスト名。ややこしいが,あるドメイン名が付いたメール・アドレスをどのメール・サーバーに届ければいいのか,DNSサーバーが知っているのだ。DNSサーバーは,ホスト名とIPアドレスの関係を「Aレコード」,ドメイン名とメール・サーバー名の関係を「MXレコード」として,2種類の情報を区別して管理している。

 もちろん転送先となるメール・サーバーのホスト名はIPアドレスに変換する必要があるので,メール・サーバーは再度DNSサーバーにアクセスし,Aレコードも参照することになる。

シーン3を繰り返すメーリング・リスト

 先ほど紹介した一斉同報に似た機能に「メーリング・リスト」がある。大規模な一斉同報の用途で使われるケースが多い。その仕組みは,シーン3でメール・サーバーの「エイリアス機能」を活用している。

 エイリアス機能を使うと,あるメール・アドレスに対しあらかじめ複数のアドレスをグループ化して登録しておける。代表アドレスあてのメールを受け取ると,メール・サーバーは登録してある全アドレスに対しコピーを再送信する。このときヘッダーは書き換えずに,登録してあるメール・アドレスあてに次々送信していく。