構成は、起動時に読み込まれる構成ファイルによって主に制御されます。メールプログラムの追加、または情報の書き換えやルーティングの変更は、再コンパイルを必要としません。構成ファイルは、マクロ定義、ヘッダー定義、メールプログラム定義、書き換えルール、オプションなどをコード化します。
マクロを使用する方法はいくつかあります。あるマクロは、sendmail がエラーメッセージの中で自分自身を識別するのに使用する名前のような、構造化されていないテキスト情報をメールシステムに送信します。また、内部では使用されず、構成ファイルで省略記法として使用されるマクロもあります。
ヘッダー宣言は、既知のヘッダー行のフォーマットを sendmail に通知します。From: 行や Date: 行など、いくつかのヘッダー行に関する情報は sendmail に組み込まれています。
ほとんどの構成済みヘッダーは、着信メッセージになければ送信メッセージに自動的に挿入されます。メールプログラムによっては抑止されるヘッダーがあります。
メールプログラムの宣言は、メールプログラムの内部名、メールプログラムに関連付けられたいくつかのフラグ、および、呼び出し時に使用される引数ベクトルを指定します。このベクトルは使用前にマクロ展開されます。
名前書き換えのルールは sendmail での名前解析の重要な部分です。これらのルールは、特定の順序で並んだパターン置換ルールのリストで、各名前に適用されます。たとえば、ルールセット 0 は使用するメールプログラムを決定します。sendmail は、解析可能な形式になるまで、メッセージを書き直します。パターンが一致すると、一致できなくなるまで、そのルールが繰り返し適用されます。
また、構成ファイルは異なるフォーマットへの名前の編集もサポートします。たとえば、次の名前を考えてみましょう。
ucsfcgl!tef |
この名前は次のようにマッピングされます。
tef@ucsfcgl.UUCP |
この結果内部構文に合わせることができます。また、特定のメールプログラムに対応して逆方向に変換することもできます。
構成ファイルから設定できるオプションもあります。これらには、各種のサポートファイルのパス名、タイムアウト、デフォルトモードなどがあります。