次のページ 前のページ 目次へ

3. 上級者向けの話題

3.1 エイリアス (別名)

エイリアス (alias) とは、疑似的なアドレスを設定する方法です。 このアドレスは単にメールを別の (一人の) ユーザに転送します。 エイリアスには二種類あります。 MUA エイリアスと MTA エイリアスです。

MUA エイリアスはユーザが MUA で設定するもので、一種の個人的略記法です。 他の人はこのエイリアスを見たり使ったりすることはできません。 例えば


alias esr       Eric S. Raymond <esr@thyrsus.com>

のような内容を mutt の設定ファイルに書いておけば、 mutt は アドレス行に置かれた `esr' に対して、これが `esr@thyrsus.com' で あるかのように動作します。また `mutt esr' と起動すれば、 自動的に展開されたアドレスが `to' 行に入ります。

MTA エイリアスは MTA が展開します。これは誰でも、 マシンにいる人でもリモートからでも使うことができます。 MTA エイリアスを準備するには、システムファイルを変更しなければなりません。 普通は (必ず、ではありません) /etc/aliases です (場所は MTA によって異なります)。 ご自分のシステムにある /etc/aliases を見れば内容はわかる でしょう。ここにはすでに、 `postmaster' のような標準的なエイリアス がいくつも書かれているはずです。

おそらくお使いの MTA では、エイリアスの変換先としてファイル名を 指定することができるでしょう。これはメールが追加されるメールボックス として扱われます (メールをアーカイブするときに便利です)。 また変換先にプログラムを指定することもできるでしょう。 この場合このエイリアスへのメールは、プログラムの実体に対して、 標準入力経由で渡されることになります。

3.2 フォワード (転送)

MTA エイリアスを設定するには、普通は管理者権限が必要になります。 しかし管理者にいちいち間にはいってもらわなくても メールの転送設定ができるようになっているほうが、 メールユーザにとっては望ましいでしょう。

これをサポートするため、ほとんどの MTA は sendmail の先例に倣い、 ホームディレクトリにある .forward という ファイルを見に行きます。このファイルの内容はエイリアスのターゲット とみなされ、あなたのメールはこのアドレスが受け取ることになります。 この機能の最も一般的な利用法は、メールを別のマシンにあるアカウントに 転送することです。

3.3 自動返信

.forward の別の使い方として、 メールを `vacation' プログラムに渡すこともよく行われます。 vacation プログラムは受け取ったメールを読み、 canned reply (訳注: 留守番電話の録音テープの返事みたいなやつです) を自動的に 生成します。 canned reply という名前で呼ばれているのは、 この返事の内容はたいてい「当人が休暇中で、いついつまで不在である」 ことを送り主に伝えるものだからです。

万人が用いているスタンダードな vacation プログラム、といったものは ないようです。これは二つの理由からでしょう。一つめは、 このようなプログラムは フィルタルール (後述) のシェルスクリプトとして非常に簡単に書けて しまうということ、二つめは、 vacation プログラムとメーリングリストとの 相性が悪いこと、です。

自動返信の設定をする前には、読んでいるメーリングリストを 全て一時的に unsubscribe (講読をやめること) しないといけません。 さもないと、メーリングリストのメンバー全員が、あなたの vacation プログラムから canned message の洪水を受け取ることになるでしょう。 これはとても不躾な振る舞いとみなされます。あなたは戻ってきたとき、 非常に冷たい扱いを受けることになるでしょう。

3.4 メーリングリスト

メーリングリストとは、メールを複数の人に送るための擬似アドレスです。

一番簡単には、複数の受取先を記述した MTA エイリアスを使えば メーリングリストを実現できます。小さなメーリングリストは このようなかたちで運営されています。 sendmail の /etc/aliases の文法では、 エイリアスのターゲット側にメーリングリストの内容を記述した ファイルを指定できるようになっており、このような運営が 楽になっています。指定は以下のようにします。


admin-list:     ":include:/usr/home/admin/admin-list"

この利点は、 admin-list ファイルを非特権ユーザの領域のどこかに 置いておけることです (root 権限が必要になるのは 上記の記述を最初に加えるときだけです)。他の MTA にも 同様の機能を持っているものがあります。

このような簡単なリストは、良く `メールリフレクタ (mail reflector)' と呼ばれます (訳注: reflector = 反射するもの)。 メールリフレクタにはいくつか問題があります。ひとつは、 配送に失敗したときのバウンスメッセージがユーザ全員にブロードキャスト されてしまうことです。もうひとつは講読の登録と取り止めを、 全てメーリングリスト管理者が手動で行わなければならないことです。

メーリングリストマネージャと呼ばれるソフトウェアは、 上記のものをはじめ、この種の問題を解決するために開発されてきました。 最も重要な機能は、メーリングリストのユーザに 講読や取り止めを自分だけで (リストの管理者を通さずに) できるようにすることです。

メーリングリストマネージャはユーザリスト情報を自分で保持し、 MTA には /etc/aliases のプログラムエイリアスで 繋がります。例えば、上記の admin-list が、 SmartList というメーリングリストマネージャを通して sendmail システムで配送を行うとしたら、 /etc/alises の件の部分は以下のようになります。


admin-list: "|/usr/home/smartlist/bin/flist admin-list"
admin-list-request: "|/usr/home/smartlist/bin/flist admin-list-request"

エイリアスが二つあることに注意してください。 慣例として、実際のメーリングリストには リクエストアドレス という、ユーザの講読・取り止め依頼を捌くために用いられるアドレスを 持つことになっています。このようなリストで、講読・取り止めの依頼を メインのアドレスに送ると、無作法で世間知らずだと思われてしまいます。 気をつけましょう。

リクエストアドレスの裏側に座っているロボットは、講読・取り止め 以外にも色々な機能を持っていることが多いでしょう。ヘルプ要求に 応えたり、リストにいるメンバが誰かを教えてくれたり、 リストのアーカイブへの自動的なアクセスを実現していたりするでしょう。 またリストの管理者を助けて、ポストを特定のメンバーに制限させたり、 メンバーでない人からポストがあったらその人を自動的に登録したり できるかもしれませんし、他にも色々なセキュリティポリシーに基づく 選択を提供していることでしょう。これらの副次的な目的に関する メーリングリストマネージャの設計は、パッケージごとに大きく 異なっています。

残念ながら、メーリングリストのリクエストロボットへの送信コマンドには、 標準的なフォーマットはありません。 Subject 行にコマンドを入れるものも あれば、 Subject 行は無視してメッセージ本文にコマンドを入れるものも あります。最初に講読したときに返ってきたメールを、気をつけて読む 必要があります。このようなメールは講読メールボックスに保存しておいて、 後から参照できるようにしておくのがよいでしょう。

誰もが知っておくべき最も重要なメーリングリストマネージャは、 majordomo, listserv, listproc, smartlist でしょう。 中でも majordomo がポピュラーで、他を圧して最も普及しています。 このようなパッケージに関する網羅的な情報を web で求める向きには、 http://www.catalog.com/vivian/mailing-list-software.html をお薦めしておきます。

訳注: 日本国内で良く使われているマネージャとしては FML が挙げられます。

メーリングリストマネージャに関するより詳しい情報は、 List-Managers Mailing List にあるリソースを調べてみましょう。 FAQ もあります (注意: このリストは HOWTO 的な質問をするのに適したリストでは ありません)。

3.5 メールフィルタ

メールフィルタとはローカルな配送エージェントと ユーザの間に位置するプログラムで、ユーザがメールを見る前に 自動的に処理したり受付けを拒否したりしてくれます。

メールフィルタには便利な用途がたくさんあります。 重要なのものには、 spam のフィルタリングをしたり、 トピックや送り主に応じてメールを複数あるメールボックスに振り分けたり、 メールに自動返信したり、などがあります。

通常メールフィルタを設定するには、まず .forward ファイルに フィルタプログラムへのプログラムエイリアスを置き、 続いてフィルタリングの規則をファイルに記述します。 フィルタ規則ファイルのフォーマットや置き場所は、 フィルタプログラムによって異なります。

3 大メールフィルタ (procmail, mailagent, deliver) の機能を うまくまとめたものが、 Chris Lewis の Email Software Survey の part 3 にあります。 3 つの中でも最もポピュラーなのは (規則を記述する文法は汚いのですが) procmail で、 普通の Linux システムにはほとんど存在しています (そして、実際のところ、システムのローカル配送エージェントとして 一般的に用いられています)。

3.6 spam への対処

spam は `UCE' (Unsoliciated Commercial Email: 勝手に送られてくる コマーシャルメール) とか `UBE' (Unsoliciated Bulk Email: 勝手に送られてくる大量のメール) などとも呼ばれます。 このような名前からわかるように、 spam とは 同じ内容のものを多人数に送りつけ、あなたのメールボックスを 占有してしまう、不愉快な広告です。 (`spam' という言葉は、 Monty Python's Flying Circus (訳注: かつて BBC で放送されていたバラエティ?番組) の寸劇で、 バイキングのコーラス隊が "Spam spam spam spam..." と ずっと繰り返し歌いつづける様子から来ています。)

spam のほとんどは、ネズミ講の勧誘、ポルノの広告、(頭に来ることに) spam 送信プログラムの販売などです。いくつかの spam (MAKE MONEY FAST や Craig Shergold の葉書に関するデマなど) は何度も何度も繰り返され、 既に伝説的なものにさえなっています。 spam はうるさいですし下品です。 時間の無駄ですし、ネットワークのバンド幅の大いなる 無駄づかいでもあります。

spam の流行は 1997 年の中頃にピークに達し、それ以降は ゆっくり減っているようです。しかし大きなイライラのもと であることには変わりません。 もし spam の洪水に悩まされているようなら、学びましょう。 Fight Spam on the Internet! のページをご覧になってください。 Death To Spam! のページは、 spam を止めたり相手を特定したりする方法を紹介しており、 特に効果的です。


次のページ 前のページ 目次へ