IRON MAIDEN

1-2 入門
まずは、チュートリアル的なものから入りたいと思います。
よく、メールの例えとして、手紙を書く行為を挙げますが、ここではあまりやりません。
ただ、手紙の場合、読み直すという行為が当たり前のようにあるにもかかわらず、メールの場合は、それをしない方が圧倒的に多いということです。
そもそもメールをしている殆んどの人は手紙を書いたことすらないので、(今の人ってそうみたいです)この例え自体が無意味です。

1-3 sendmailは何故複雑なのか?
あるマシン上から同一のマシン上の別のユーザにメールを送る場合、sendmailの機能の殆んどは必要ないと思います。
非常に単純な設定ファイルになるでしょうし、そういうものを提供しているメーカーさんもあるのではないでしょうか?
しかし、インターネットに接続されたsendmailは、DNSを使い、ホスト名をネットワークアドレスに変換するという行為が必要になります。
UUCP接続だとUUXを実行させなければ・・・等です。
現在、UUCP等は使わないだろうとおっしゃる方もおられるかもしれませんが、田舎の非力な環境だったり、
仕事場すべてに、最新のものが配備されていなかったりと、(それ、旧石器時代のですか?)まあ、色々あるわけです。
異なるネットワーク体系に接続する場合等も挙げられます。
メール配信エージェントは、あらゆる形式のネットワークでメールをやりとりできなければいけないと思います。
そう考えると、設定ファイルが柔軟で複雑な理由も見えてくるんですが、どうでしょう。
多くのマシン毎に異なる設定が必要な場合でも、それぞれの用途に合わせて設定ファイルをカスタマイズしておけば、同じバイナリで済ますことも出来ます。
上記のようなことから、sendmailの設定ファイルは、複雑になります。

1-4 設定ファイル
sendmailに限らず、プログラム(ソフト)が動作するには、色々な要素があります。
例えば、プログラム本体、ファイルやディレクトリ、提供するサービス等です。(ここではPCの機構は扱いません)
sendmail動作の鍵は、こういった各要素の配置、動作の定義、アドレス書き換えを含む設定ファイルにあることは、今更いうまでもないことだと思います。
キュー・ディレクトリは配信されるまでメールを保持し、エイリアスファイルはユーザの別名とメーリングリストの生成を可能にします。
この設定ファイルは、sendmailが動作する為の指令書のようなもので、動作のすべてを含んでいます。
ファイルの位置、権限、動作モード等の情報もこれで提供されます。
書き換えルールとルールセットも設定ファイルに記述されます。これはメールアドレスを配信に必要な形式に変換する機能を持っています。
おそらく、設定ファイルの中で、一番解かり難い部分でしょう。(当たり前ですね)
逆にsendmailからは、非常に解かりやすい形式になっているのではないでしょうか。

1-5 キュー
すべてのメールメッセージは、書けば直ぐ送れるというものではありません。配信を遅らせなければならないときは、
後で送られるまで一時的に保持しておかなければいけません。
sendmailでいうキューは、後で配信出来るようになるまでメールを蓄えておくディレクトリです。
当たり前のことですが、メールメッセージを配信する前に、一度キューに入れるようにしておくと、クラッシュによるデータ損失のリスクを最小限にすることが出来ます。

1-6 エイリアス機能
エイリアス機能とは、あるアドレスに送られた機能を別のアドレスに振り向ける為のものです。
こういうことを書くと、何故か悪いことをするな!とおっしゃる方がいるんですが・・・全くの謎です。
メールをファイルに追加したり、パイプを通してプログラムに送ったりすることも出来ますが、
これらはメーリングリストを提供する為の基本機能でしょう。
alises(5)を見ておくと良いかもしれません。
この機能は、ユーザのホームディレクトリにある.forwardファイルでも定義できます。

1-7 sendmailを直接且つ優しく弄ってあげる
普通、メールをやるということは、MUA(メールユーザエージェント)を利用することを言います。
こういったものは見えないところでsendmailにメール・メッセージを渡すので、ユーザには即座にメールが送られたように見えます。
PC初心者のころ、これが解かるまで、即座に送られていると思っていました。 だって本にもそう書いてるものが多いし・・・せめてもう少し詳しく書いて欲しいです。
これくらいは、初心者向けの書籍でも問題ないかと・・・

さて、直接実行・・・