MAILWRAPPER(8)

名称
mailwrapper - 設定ファイルにしたがって適切な MTA ソフトウェアを起動する

書式
特殊です。以下を参照してください。

解説
かつて、容易に使うことのできるメール転送エージェント (MTA) は sendmail(8) のみでした。このため、たとえば mail(1) のように、ほとんどのメールユーザエージェント (MUA) は sendmail(8) が期待するパスと呼び出し規則を持っていました。

しかし時代は変わりました。現在の UNIX システムにおいては、管理者は いくつか入手可能な MTA のなかから好きなものを使いたいと思うかもしれません。

しかし、システムで通常使われている MUA ソフトウェアを全て修正するのは 困難でしょう。 そこで、代替 MTA のほとんどはフロントエンド メッセージ提示プログラムを用意しています。これにより代替 MTA は sendmail(8) と同じ呼び出し規則を使い、 /usr/sbin/sendmail にある sendmail(8) の代わりに利用することができます。

sendmail(8) は通常、自身にリンクされた mailq(1) と newaliases(1) という名前のエイリアスを持ちます。sendmail は、その argv[0] が “mailq” であるか “newaliases” であるかによって違った振る舞いをすることを認識しており、 それぞれに見合った動作をします。 通常、代替 MTA は、呼ばれた名前によってその挙動を変えるプログラムや、あるいは それと似たような機能を提供する一連のプログラムを通して sendmail に似た機能を提供します。

たとえ、代替 MTA をインストールする際に sendmail(8) を置き換える手助けをしてくれるプログラムがあったにしても、 本質的にそのようなプログラムは、システムの設定を /usr ディレクトリに頑張ってインストールしたプログラムに依存したものに するだけのことです。 このことは、多くの管理者にとって設定に関する問題の原因となります。 なぜなら、 /usr で既に提供されているものをそのままにして、新しい MTA をインストール したいと思うかもしれないからです (このようにしたいのは、たとえば古いシステムの上に 新しいバージョンのシステムをインストールする際に生じる、アップグレードの 問題を回避したいからでしょう)。 また、複数のマシン間で /usr を共有もしているのかもしれません。そうであれば、 読取り専用の /usr ディレクトリ中に暗黙のうちに設定情報を置いてしまうことは避けたいでしょう。

mailwrapper は /usr/sbin/sendmail を置き換え、そして、 /etc/mail/mailer.conf に置かれた設定情報に基づいて sendmail(8) の代わりとなる適切な MTA を起動するために設計されたものです。 これにより管理者は、実行時にシステム上でどの MTA が起動されるべきかを 設定することができます。

sendmail(8) を置き換えるときには、他の設定ファイルも変更要かもしれません。 例えば、置き換えた MTA が mailq(1) で -A オプションをサポートしない場合、 /etc/periodic.conf で daily_status_include_submit_mailq をオフにするべきです。

関連ファイル
mailwrapper のための設定は /etc/mail/mailer.conf に保存されています。 /usr/sbin/sendmail は一般的に mailwrapper へのシンボリックリンクとして設定されており、通常単体では起動できません。

診断
設定ファイルが見つからない場合や、設定ファイルの内容が不適切であった場合、 もしくは、 mailwrapper を起動する際に指定した名前とその振る舞いとの対応関係が設定ファイル中に 含まれていない場合、 mailwrapper ユーティリティはエラーを返し、メッセージを表示します。

関連項目
mail(1), mailq(1), newaliases(1), mailer.conf(5), periodic.conf(5), sendmail(8)

歴史
mailwrapper ユーティリティは NetBSD 1.4 ではじめて登場し、 FreeBSD 4.0 に移植されました。

作者
Perry E. Metzger <perry@piermont.com>

バグ
このプログラムは消極的な理由により存在しています。このようなプログラムを 使う代わりに、メールをどのように送信するかを決めるコマンドを 標準化するべきであり、 mailq(1) のように「異なる名前で起動されたとき異なる動作をする」ものは排除 するべきです。