EP Net Fan 座学編レジュメ

.qmail と .forwardの使い方

1999.12.10 村田泰洋


1.はじめに

専攻サーバではMTA(Message Transfar Agency)として qmailを使っている.今回はそのqmailの .qmail というファイルを中心に説明を行うため sendmail の .forwardに当てはまらない部分が多々あるので気を付けてください.

2 dot-qmail とは

◯機能

-届いたメールを別なアドレスへ配送したい
-届いたメールに対してプログラムの実行をしたい
などのときに便利です.

◯仕組み

メールは通常,メールサーバであるホストの~user/Mailbox(または Maildir .以後省略)に配送される.しかし qmail は各人の Mailbox に配送する前に .qmailファイルに書かれてある内容を読んで配送(実行)する.

                   |ユーザのディレクトリ
                   |             → Mailbox 
     メール →    | .qmail      →プログラムを実行 etc
                   |________________________   
		        
			↓
		  
		   別なアドレス

◯お作法

行単位に配送し字を書く.

.qmail は正しく書かないとルーピングの危険性があるので注意して扱いましょう.

◯便利な拡張アドレス

アドレスのアカウント部分(例えば)は拡張子をつけることで半永久的にアドレスを増やすことができます.小規模のメーリングリストを作る場合はこれを使えば十分です.

例) .qmail-hogehogeというファイルを作ってメーリングリストのメンバーのアドレスを書く. chozi-hogehoge@ep.... 宛にメールを出せば配送されます. 拡張子はいくらでもつけらるが大文字や点(dot)は使わないほうがよい.

3.メール増幅ループの危険性

メール増殖ループとは

誤った操作をするとありがたくないメールが永遠に送られてしまい,最悪メールサーバ崩壊の危機があります.下の例はメールサーバ管理者が起こした実体験を含めた例です.
事象1 転送先,転送元にそれぞれ相手のアドレスを書いていた場合
今まで使っていたメールサーバ foo.bar の dot-qmail に
      &chozi@ep.sci.hokudai.ac.jp & 
と専攻サーバのメールアドレスを書いていたとする.そして, blue の dot-qmail には
      &chozi@foo.bar
と書きます.これによって
          chozi@ep.sci.hokudai.ac.jp宛に出されたメール
	            ↓
          chozi@foo.barに転送
	            ↓
	  chozi@foo.barに届いたメールは dot-qmail を見て
	  chozi@ep.sci~へ再配送する.
	            ↓
          chozi@ep~は dot-qmail をみて 更に再配送する.
事例2 正しく転送アドレスを書かない
.qmail にアドレスを書くときいないユーザを書くとエラーメール が送られ,それが .qmailをまた読みにいきそのエラーメールを出す.

メールサーバはこの手のルーピングをエラーメールとして返すので 増殖までには至らない. しかしメールサーバの管理者がルーピングを起こすとエラーメールが 管理者宛にメールを出して再びそこでルーピングが起こって増殖して いきます.たちの悪いことに一つ前のメールを添付してエラーメールを 投げるのでどんどんメールのサイズが大きくなり放っておくとパンクし ます.

4. 最後に .forwardについて

.forward は メールの転送他, .qmail と同様の働きをします. ただ,メール転送では & が必要無かったり,少しお作法が違うようです. sendmail を使っているメールサーバを持つユーザは自分でいろいろ 試して下さい.

http://www.jp.qmail.org←座右のページです.

最終更新日 : 1999/12/10

村田泰洋