メールシステムの管理

sendmail 機能

sendmail プログラムは、管理者が定義したメールプログラムを呼び出してメッセージを配信するメッセージルーターです。sendmail はメールプログラムからメッセージを収集し、宛先のメールプログラムで必要なメッセージのヘッダーを編集し、適切なメールプログラムを呼び出して配信したり、ネットワーク送信のために待ち行列に入れたりします。ただし、ファイルにメールを送るときは、sendmail は直接配信します。メールプログラムは最小コストで追加できます。

sendmail インタフェース

sendmail プログラムは、次の 3 通りの方法で外部と通信します。

引数ベクトルと終了状態

プロセスと通信する標準的な方法は、引数ベクトル (コマンド名と引数) を使用することです。引数ベクトルは受信者のリストを送信し、メッセージ本体は標準入力に送信されます。問題が発生すると、メールプログラムが出力するものはすべて収集され、発信者に戻されます。メッセージが送信された後、メールプログラムからの終了状態が収集され、必要ならば診断が出力されます。

パイプを使用する SMTP

SMTP プロトコルを使用して、メールプログラムとの対話的なロックステップインタフェースを実行できます。サブプロセスはまだ作成されますが、受信者の名前は引数リストを経由してメールプログラムに渡されません。代わりに、プロセスの標準入力に送信されるコマンドで一度に 1 つずつパイプを通して渡されます。標準出力に表示されるものはすべて標準 SMTP 応答コードです。

TCP を使用する SMTP

この方法は、TCP 接続を使用することを除いては、パイプを使用する SMTP に似ています。通常、TCP 接続上の SMTP を使用して別のシステム上の sendmail プロセスに接続します。メールプログラムが同じマシンにある必要がないため、これは非常に柔軟な方法です。