メールシステムの管理

付録 B sendmail オプション

sendmail のコマンド行引数

/usr/lib/sendmail コマンド行で引数を使用します。これらの引数については、表 B-1 で説明します。

表 B-1 sendmail コマンド行引数

引数 

説明 

-Btype

本体タイプを選択する (7BIT または 8BITMIME) 

-bx

動作モードを x に設定。動作モードは次のとおり

 

 

a

ARPANETモードで動作する 

 

 

d

デーモンとして実行する 

 

 

i

別名データベースを初期化する 

 

 

m

メールを配信する (デフォルト) 

 

 

p

メール待ち行列を出力する 

 

 

s

入力側で SMTP を使用する 

 

 

t

テストモードで動作する 

 

 

v

受信者を確認する 

-Cfile

異なる構成ファイルを使用する 

-dlevel

デバッグレベルを設定する 

-Fname

このユーザーのフルネームを name に設定する

-fname

-r の旧式の形式

-hcnt

「ホップカウント」を cnt に設定。このメッセージが sendmail によって処理される回数を設定する (基盤となるネットワークのサポートによって制限がある)。cnt は処理時に増分され、構成オプション -h の値に達すると、sendmail はエラー付きメッセージを返す

-Mid

メッセージ ID が id の待ち行列を配信をしようとする

-n

別名の使用または転送をしない 

-oxvalue

構成オプション x を指定の value に設定する

-pprotocol

送信プロトコルの設定。 protocol フィールドを protocol:host として入力し、プロトコルと発信側ホストの両方を設定できる

-qtime

待ち行列にあるメールを処理しようとする。時間が指定されている場合には、待ち行列にあるメールを配信するために、sendmail により、指定した間隔で繰り返し待ち行列を処理する。そうでなければ、1 回だけ動作する

-qXstring

待ち行列を 1 回だけ実行し、Xstring と一致するジョブだけに制限。X には次の値を入力できる

 

 

I

待ち行列識別子に基づき制限 (-M を参照)

 

 

x

受信者に基づき制限 (-R を参照)

 

 

S

発信者に基づき制限 

-Rstring

string を含む受信者のすべてのメッセージを配信しようとする

-t

To: 行Cc: 行、および Bcc: 行のヘッダーを読み、そのヘッダーにある人すべてに送信する。Bcc: 行は送信前に削除する。引数ベクトルにおけるいずれの名前も送信リストから削除する

-v

詳細表示 (verbose) モードを使用する 

-Xlogfile

指定した logfilesendmail から送受信されるすべてのトラフィックをログする

これらのオプションについては、次の節 sendmail 構成オプション」 で説明します。

基本命令フラグとして構成オプションをいくつか指定できます。これらは、-c-e-i-m-T、および -v の引数です。また、-s 引数として -f 構成オプションが指定できます。

sendmail 構成オプション

コマンド行の -o フラグを使うか、または構成ファイルの O 行を使って、表 B-2 で示すオプションを設定できます。

表 B-2 sendmail 構成オプション

オプション 

説明 

-Afile

/etc/mail/aliases ではなく、別名ファイルとして指定した file を使用する。ファイルを指定しない場合は、現在のディレクトリにある別名を使用する

-atime

起動前に @:@ エントリが別名データベースに現われるまでの待ち時間 (分単位)。このエントリがその時間経過後も現れない場合、データベースを再構築する

-Bvalue

スペース置き換え。デフォルトはドット (.) 文字 

-bn

n を越える受信者に空のメッセージを許可しない

-Cn

n を越える受信者のチェックポイント

-c

送出メールプログラムが高価であると判断された場合、即座に接続しない。メールを実際に送信するには待ち行列プロセスを処理しなければならない 

-D

オプションを設定した場合、必要かつ可能ならば、別名データベースを再構築する。このオプションを設定しない場合は、-bi を使って明示的に要求されない限り、sendmail では別名データベースを決して再構築しない

-dx

 

モード x で配信。正当なモードは次のとおり

 

i

対話的に (同期的に) 配信する 

 

b

バックグラウンドで (非同期的に) 配信する 

 

q

メッセージを待ち行列に入れる (待ち行列実行時に配信する) 

-Estring

エラーメッセージに string を付ける。 string がスラッシュで開始されていると、メッセージを含むファイルのパス名とみなされる

-ex

モード x を使ってエラーを処理する。x の値は次のとおり

 

 

p

エラーメッセージを出力する (デフォルト) 

 

 

q

メッセージなし、単に終了か設定される 

 

 

m

発信者にエラーを送り返す 

 

 

w

端末にエラーを書き込む (ユーザーがログインしていなければ、メールする) 

 

 

e

エラーを送り返し常に終了状態は 0 に設定する

-Fn

8 進形式の一時待ち行列のファイルモード n に対しては 644 および 600 の値を選択するのがよい

-f

UNIX 形式の ヘッダーの先頭の From 行を省略する。通常、この行は冗長なので破棄されるものと考えられる 

-gn

実行時のメールプログラムのデフォルトグループ ID を n に設定する

-Hfile

SMTP [Postel 82] のヘルプファイルを指定する 

-hn

最大のホップカウントを n に設定する

-I

ホスト要求を解決するためネームサーバーを実行するように指示する 

-i

 

入ってくるメッセージにあるドットを無視する 

-Jpath

ユーザーの .forward ファイルの検索パスを設定する

-j

エラーメッセージを MIME フォーマットで送信する 

-Ktimeout

キャッシュ接続がアイドルであることを許可する最大時間を設定する 

-kn

オープン中の接続を 1 度に最大いくつまでキャッシュできるかを指定する。デフォルトは 1 

-Ln

デフォルトログレベルを n に設定する

-l

 

Errors-To: ヘッダーがある場合、エラーメッセージをそこに記載されたアドレスに送信する

-Mxvalue

マクロ xvalue に設定する。これはコマンド行からの使用にのみ対応

-m

 

送信者名が別名展開リストにあっても送信者に送る 

-n

 

別名データベースの再構築時に別名の RHS を有効にする 

-Ooptions

サーバーの SMTP オプションを設定。オプションは key=value ペア。 key は次のとおり

 

Addr

アドレスマスク (デフォルト値は INADDR_ANY) 

 

Family

アドレスファミリ (デフォルト値は INET) 

 

Listen

待機中の行列のサイズ (デフォルト値は 10) 

 

Port

待機中のポートの名前または番号 (デフォルト値は smtp)

-o

 

ヘッダーが旧フォーマットかもしれないと仮定する。つまり、スペースで名前を区切っている。実際にはこのフラグは適応アルゴリズムをオンにする。もし受信者の名前にも、カンマ、丸かっこ、または角かっこがある場合、カンマはすでに存在すると想定される。このフラグをオンにしなければ、カンマだけで名前を区切る。ヘッダーは常に名前の間にカンマをつけて出力される 

-Pname

MAILER-DAEMON からのエラーメッセージからヘッダーをこの名前 (ローカルポストマスター) に送信する 

-popt,opt

プライバシオプションを設定。opt の値としては以下が使用できる

 

authwarnings

メッセージに X-Authentication-Warning: ヘッダーを入れる 

 

goaway

SMTP 状態の問い合わせを許可しない 

 

needexpnhelo

EXPN の前に HELO または EHLO コマンドを指示 

 

needmailhelo

MAIL の前に HELO または EHLO コマンドを指示 

 

needvrfyhelo

VRFY の前に HELO または EHLO コマンドを指示 

 

noexpn

EXPN を許可しない 

 

novrfy

VRFY を許可しない 

 

public

オープンアクセスを許可する 

 

restrictmailq

mailq コマンドを制限する

 

restrictqrun

q コマンド行フラグを root と待ち行列の所有者に制限する

-Qdir

待ち行列ディレクトリとして指定された dir を使用する

-qfactor

マップ機能で係数を乗数として使い、ジョブの実行ではなく、待ち行列に入れる正確な時間を決定する。デフォルトは 600000 

-R

リモートサーバー上のメールボックスをマウントしている場合は、外部へもメールをそのサーバー経由で送信する 

-rtimeouts

一定時間後に読み出しをタイムアウトとする。タイムアウトとする引数は keyword=value ペアのリスト。設定できる項目、そのデフォルトと最低値 [<デフォルト>、<最低値>] は次のとおり

 

command

コマンドの読み取り [1 時間、3 分] 

 

datablock

データブロックの読み取り [1 時間、3 分] 

 

datafinal

データの最終 "." への応答 [1 時間、10 分] 

 

datainit

DATA コマンドへの応答 [5 分、2 分] 

 

helo

HELO または EHLO コマンドへの応答 [5分、なし] 

 

ident

IDENT プロトコルのタイムアウト [30 秒、なし] 

 

initial

最初の挨拶メッセージの待機 [5 分、5 分] 

 

mail

MAIL コマンドへの応答 [10 分、5 分] 

 

misc

NOOP または VERB コマンドへの応答 [2 分、なし] 

 

quit

QUIT コマンドへの応答 [2 分、なし] 

 

rcpt

RCPT コマンドへの応答 [1 時間、5 分] 

 

rset

RSET コマンドへの応答 [5 分、なし] 

-Sfile

指定した file に統計情報を保存する

-s

即座に配信しようとする場合でも、常に待ち行列ファイルを先に処理する。sendmail は、どんな状況下でもクライアントに制御を戻す前に常に待ち行列ファイルを処理する

-Trtime/wtime

待ち行列のタイムアウトを rtime に設定する。この間隔後に、正常に送信されなかったメッセージが発信者に戻される。 wtime 変数はオプションであり、その後で警告メッセージが送られる時刻を選択する

-ttzinfo

タイムゾーンを設定する 

-un

メールプログラムのデフォルトユーザー ID を n に設定する。メールプログラム定義で -S フラグのないメールプログラムは、このユーザー ID で実行される

-Vfallbackhost

fallbackhost を選択して、あらゆるホストで優先順位の低い MX のように機能させる

-v

詳細表示モードで動作する 

-w

レコードが全くない場合と同様に、直接ホストに接続する。このオプションはお勧めできない 

-Xn

システム負荷を低減するため、システムが過負荷状態になると sendmail デーモンが着信 SMTP 接続を拒絶するように負荷平均値を設定する。デフォルトは 12 で、0 はこの機能を使用不可にする

-xn

システム負荷を低減するため、sendmail が (-dx オプションとは関係なく) 単にメールを待ち行列に入れるように負荷平均値を設定する。デフォルトは 8 で、0 はこの機能を使用不可にする

-Y

別のプロセスで待ち行列から実行される各ジョブを配信する 

-yfactor

各受信者の優先順位に factor が追加される (これで受信者の多いメッセージのジョブの優先度が低くなる)。デフォルトは 30000

-Zfactor

各受信者の優先順位に factor が追加される (これで受信者の多いメッセージのジョブの優先度が低くなる)。デフォルトは 90000

-zfactor

ジョブが処理されるたびに優先順位に factor が追加される。デフォルトは 1800

-7

旧システムとの互換性のため、入力を 7 ビットで切る 

-|

:include: で参照されるファイルおよび .forward ファイルにグループの書き込み権が設定されている場合は、これらのファイルは安全でないものと見なされるので、これらのファイル内の項目によって、プログラムを参照したり、ファイルに直接書き込むことはできない

メールプログラム用のフラグ

メールプログラム記述子でセットできるフラグについて、表 B-3 で説明します。

表 B-3 メールプログラム記述子の sendmail フラグセット

フラグ 

説明 

-a

拡張 SMTP プロトコルを実行する 

-b

メッセージの最後にブランク行を強制的に付ける 

-C

発信者からの @domain 節を、ルール 3 セットによる書き換え後に単価記号 (@) がないヘッダー内のすべての名前に追加する。このオプションはお勧めできない。次の形式のヘッダーがあるメールにこのフラグが適用される

 

From: user1@local

To: user2, user3@remote

 

これは、自動的に次のように書き直される 

 

From: user1@local

To: user2@local, user3@remote

-c

アドレスにはコメントを含めない 

-D

Date: ヘッダー行を探す

-E

From 行をエスケープして >From (通常 -U で指定される) にする

-e

接続費が高いため、通常は接続を回避する。必要な接続はすべて待ち行列処理時に行われる 

-F

From: ヘッダー行を探す

-f

ネットワーク転送操作の場合に限り、-f from フラグを探す (つまり、実行するユーザーに特別なアクセス権がなければ、メールプログラムはエラーを与える)

-g

空のリターンアドレスの代わりに MAILER-DAEMON からエラーメッセージを送信する

-h

このメールプログラムのホスト名にある大文字を保存する 

-I

別の sendmail に接続中に SMTP を選択する

-L

RFC821 で指定されるように行長を制限する 

-l

このメールプログラムはローカルなので、最後の配信が行われる 

-M

Message-Id: ヘッダー行を探す

-m

このメールプログラムは、1 つのトランザクションにある同じホスト上の複数ユーザーに送信できる。メールプログラム定義の argv 部で $u マクロが発生すると、そのフィールドは指定するユーザーすべてに対して必要に応じて繰り返される。メールプログラム記述子の L= フィールドを使用して $u 拡張子の全長を制限できる

-n

メッセージの前面に UNIX スタイルの From 行を挿入しない

-P

Return-Path: 行を探す

-p

既にある場合でも、常に SMTP の MAIL From: 行にローカルホスト名を追加する

-r

-r フラグを送信する。-f と同じ機能を実行する

-S

メールプログラムを呼び出す前にユーザー ID を再設定しない。このフラグは、 sendmailroot として動作した安全な環境で使用される。このフラグを使用して偽造された名前を回避できる

-s

メールプログラムを呼び出す前に名前から引用文字を削除する 

-U

終端に UUCP 形式の remote from <host> がある UNIX 形式の From 行を探す

-u

このメールプログラムのユーザー名にある大文字を保存する 

-X

RFC821 で指定されるように隠されたドットアルゴリズムを使用する。基本的に、ドットで始まる行にはすべて (他方の終端で取り除く) 追加された追加ドットがある。このフラグは、ドットを含むメッセージの行が途中でメッセージを終了しないようにする 

-x

Full-Name: ヘッダー行を探す

-7

出力を 7 ビットで切る