日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、全翻訳済み)
6.4-STABLE-K, 7.2-STABLE-K, 8.0-STABLE-K は現在、 作成中で日々更新されています。 最新の snapshots を元に作成しています。
SENDMAIL(8) SENDMAIL(8)
名称
sendmail - 電子メール配送デーモン
書式
sendmail [flags] [address ...]
newaliases
mailq [-v]
hoststat
purgestat
smtpd
解説
sendmail はメッセージを一人または複数の受け手 (recipient) に送ります。
必要ならばインターネットワークを通してメッセージを正しい場所に転送し ま
す。
sendmail はユーザインタフェースとして使われることは考慮されていません。
ユーザにとって使いやすいフロントエンドは別のプログラムで提供されま す。
sendmail は、あらかじめメールとして整形されたメッセージを配送するためだ
けに使われます。
引数を指定せずに起動すると、 sendmail は標準入力をファイルの終端ま で、
ま た は `.'だけを含む行まで読み込み、そこで確認したメッセージのコピー
を、列挙されたアドレスに送ります。アドレスの文法や内容にもとづいて経 路
に使用するネットワークを決定します。
ロー カルアドレスは、あるファイルの中を検索して適当なエイリアスを行いま
す。先頭にバックスラッシュ `\' のついたアドレスについては、エイリアスは
行 なわれません。 8.10 から、送り手はエイリアス展開の対象に含まれるよう
になりました。つまり、`john' が `group' にメールを送る際に、 `john' が
`group' に 含まれているならば、送ったメッセージは `john' にも送られま
す。
パラメータ
-Ac 動作モードが最初のメール送信依頼であることを示していない場 合 で
も、 submit.cf を使用します。
-Am 動作モードが最初のメール送信依頼であることを示している場合でも、
sendmail.cf を使用します。
-Btype ボディのタイプを type に設定します。現在有効なの は、 7BIT か
8BITMIME です。
-ba ARPANET モードに移行します。すべての入力行は CR-LF で終わらなけ
ればならず、すべてのメッセージの末尾には CR-LF がつき ま す。 ま
た、``From:'' と ``Sender:'' フィールドは送り手の名前として
チェックされます。
-bd デーモンモードで実行します。 sendmail は fork を行い、バックグラ
ウンドで動作し、ソケット番号 25 で SMTP コネクションを待ちます。
通常このモードは、 /etc/rc から実行されています。
-bD フォアグラウンドで動作する以外は -bd と同じです。
-bh 継続的なホスト状況データベースの現在の値を表示します。
-bH 継続的なホスト状況データベースから期限切れのエントリを抹消 し ま
す。
-bi エイリアスデータベースを初期化します。
-bm 普通にメールを配送します(デフォルト)。
-bp メールキューのリストを表示します。
-bP キューの中のエントリ数を表示します。共有メモリサポート付きの場合
のみ、使用可能です。
-bs 標準入出力で RFC821 にもとづいた SMTP プロトコルを使います。この
フラグは、 -ba フラグのうち SMTP 互換の全ての操作を含みます。
-bt アドレスのテストモードで起動します。このモードは対話モードでアド
レスを入力し、処理の過程を表示します。設定ファイルをデバッグする
のに使います。
-bv 名 前のチェックだけを行います。メッセージの収集や配送は行いませ
ん。ベリファイモードは、ユーザやメーリングリストが有効かどうかを
確認するために使います。
-Cfile 別の設定ファイルを使います。 sendmail は、別の設定ファイルを使用
する場合は root として実行することはできません。
-dX デバッグ値を X に設定します。
-Ffullname
送り手のフルネームを設定します。
-fname ``from'' に入る名前(つまり、エンベロープ中の 送 り 手 (envelope
sender) の名前です)を設定します。最初の送信依頼の間に From: ヘッ
ダが失われている場合、このアドレスは From: ヘッダの中でも用い ら
れる場合があります。エンベロープ中の送り手アドレスは、メッセージ
伝送状態の通知の受け手として用いられ、また、Return-Path: ヘッ ダ
に も現れます。 -f は、``trusted'' なユーザ(普通は root, daemon,
network です)が使うか、送り手が自分自身の名前を指定して使う場 合
の み 指 定することができます。それ以外の場合、X-Authentication
Warning ヘッダがメッセージに付加されます。
-G メッセージのリレー (ゲートウェイ) 送信。例えば、 rmail が send-
mail を呼ぶときがそうです。
-hN ホップカウントを N に設定します。ホップカウントは、メールが処理
されるたびに増えていきます。ホップカウントが上限に達した と き、
メールは「エイリアスがループしている」という旨のエラーメッセージ
といっしょに送り返されます。もしこのフラグが指定されなけ れ ば、
メッセージのなかの ``Received:'' 行がカウントされます。
-i 入力されるメッセージ中の `.' だけを含む行を無視します。このフラ
グは、データをファイルから読み込むような場合に使用する必要があり
ます。
-L tag syslog メッセージ中で使われる識別子を、指定した tag に設定しま
す。
-N dsn 配送状況の通知条件を dsn に設定します。 dsn には、 `never' (何も
通 知しない)または、コンマで区切った、 `failure' (配送が失敗した
場合に通知する) `delay' (配送が遅れた場合に通知する) `success' (
配送が正常に行われた場合に通知する) の組み合わせを指定する事がで
きます。
-n エイリアスを行いません。
-O option=value
オプション option を、指定した value に設定します。この形式で は
長いオプション名が使用されます。詳しくは後に記述します。
-ox value
オプション x を、指定した value に設定します。この形式では、一文
字のオプション名しか使用できません。短いオプション名についてはこ
の マニュアルには記述されていません。詳しくは、 Sendmail Instal-
lation and Operation Guide を参照して下さい。
-pprotocol
メッセージを受け取るために利用するプロトコル名を設定します。設定
できるのは、``UUCP'' のようなプロトコル名だけかプロトコル+ホスト
名、たとえば ``UUCP:ucbvax'' などです。
-q[time]
キューのなかにあるメッセージを指定した時間間隔で処 理 し ま す。
time を省略した場合は、キューの内容を一度だけしか処理しません。
time は、秒を表す `s'、分を表す `m' (デフォルト)、時 間 を 表 す
`h'、日を表す `d'、週を表す `w' の単位を付けた数字で指定します。
たとえば、 `-q1h30m' や `-q90m' は、タイムアウトを 1 時間 30 分
に設定します。デフォルトでは、 sendmail はデーモンとしてバックグ
ラウンドで実行されます。このオプションは、問題なく -bd と共に 指
定可能です。
-qp[time]
-qtime と似ていますが、sendmail は、キューを処理する子プロセスを
定期的に fork するのではなく、キューの処理とスリープを交互に行う
1 個の永続的な子プロセスを fork します。スリープ時間は引数で指定
します。デフォルトは 1 秒です。直前のキュー実行においてキュー が
空だった場合、プロセスは常に最低 5 秒はスリープします。
-qf キュー に 保 存 されているメッセージを 1 度だけ処理します。この
際、fork() せずに、フォアグラウンドで実行します。
-qG name
name という名前のキューグループ中のジョブのみ処理します。
-q[!]Isubstr
キュー ID の文字列に substr が含まれるジョブのみを処理します。 !
が指定されると、その逆となります。
-q[!]Rsubstr
受 け 手のリストの文字列に substr が含まれるジョブのみを処理しま
す。 ! が指定されると、その逆となります。
-q[!]Ssubstr
送り手の文字列に substr が含まれるジョブのみを処理します。 ! が
指定されると、その逆となります。
-R return
メッ セー ジがバウンスした時に返送されるメッセージの量を設定しま
す。 return パラメータには、メッセージ全体を返 送 す る 場 合 は
`full' を、ヘッダのみを返送する場合は `hdrs' を指定します。
-rname -f フラグと同じですが、古い形式です。
-t 受け手をメッセージから読み取ります。To:, Cc:, Bcc: フィールドが
受け手のアドレスとして読み込まれます。Bcc: フィールドはメッ セー
ジの転送前に削除されます。
-V envid
オリジナルのエンベロープ ID を設定します。これは、DSN をサポート
するサーバ間では SMTP 上を伝達し、 DSN に従ったエラーメッセー ジ
の中で返送されます。
-v 詳細モードに移行します。エイリアスの展開などが報告されます。
-X logfile
指 定 さ れた logfile に、メーラに出入りする情報すべてを記録しま
す。メーラをデバッグする際の最後の手段としてのみ使ってください。
非常に大量の情報があっという間に記録されます。
-- コ マンドフラグ処理を停止し、残りの引数をアドレスとして使用しま
す。
オプション
sendmail には、設定することができる多くの処理オプションがありま す。 通
常、 これらのオプションはシステム管理者のみが使います。オプションは、コ
マンドラインから -o フラグを使って(短いオプション名で)指定した り、 -O
フ ラグを使って(長いオプション名で)指定したり、設定ファイルから指定する
ことができます。ここに記述しているのは部分的なもので、コマンド行から 指
定 する場合に便利な物だけを、長いオプション名で示しています。完全なリス
ト(と詳細)は、 Sendmail Installation and Operation Guide を参照してくだ
さい。オプションには以下の物があります。
AliasFile=file
別のエイリアスファイルを使います。
HoldExpensive
接続するのに時間がかかるホストと接続するときは、すぐに接続せず、
リクエストはキューに入れられます。
CheckpointInterval=N
sendmail が、 N 個の配送に成功するたびにキューファイルにチェック
ポイントを設定します(デフォルトは 10 個です)。これによって、シス
テムのクラッシュによって長いメーリングリストの配送が中断されたと
きでも、再開時に同じ人に重複して配送されることを防ぎます。
DeliveryMode=x
配送モードを x に設定します。配送モードには `i' 対話的(同期的)配
送モード、 `b' バックグラウンド(非同期的)配送モード、 `q' キュー
モー ド(実際の配送は、キューが実行されるときに行われる)、 `d' 延
期モード( -D オプションで指定されたマップ (デフォルトは ホ ス ト
マップ) に対しデータベースの検索が行われない以外は `q' と同じ)が
あります。
ErrorMode=x
エラー処理をモード x に設定します。有効なモードとして、 `m' はエ
ラー メッセージを送り返します。 `w' はエラーメッセージを送り手の
端末に書き出します (送り手がログインしていなければ、メールを返し
ます)。 `p' は、エラーメッセージを端末に表示します(デフォルト)。
`q' は、エラーメッセージを捨てます(exit コードだけを返しま す)。
`e' は、BerkNet 用に特別処理をします。もし、モード `m' や `w' を
使っている場合に、エラーとなったメッセージがエラーメールとして送
り返されず、送り手が sendmail を実行しているマシン上のユーザなら
ば、メッセージのコピーは送り手のホーム ディ レ ク ト リ に あ る
dead.letter に追加されます。
SaveFromLine
メッセージのはじめに UNIX-style の From 行を残します。
MaxHopCount=N
メー ル がループしていると判断されない、最大のホップ数を指定しま
す。
IgnoreDots
`.' だけを含む行をメッセージの終わりとして解釈しません。
SendMimeErrors
エラーメッセージをMIMEフォーマットで送り返します。設定されていな
い 場合は、DSN (Delivery Status Notification: 配送状況通知) SMTP
拡張は無効になります。
ConnectionCacheTimeout=timeout
コネクションキャッシュのタイムアウトを設定します。
ConnectionCacheSize=N
コネクションキャッシュのサイズを設定します。
LogLevel=n
ログレベルを設定します。
MeToo=False
エイリアスに自分自身が含まれていても、``me''(送り手自身)には送り
ません。
CheckAliases
newaliases(1) コマンドの実行の際、エイリアスの右辺(エイリアスの
値)の有効性をチェックします。
OldStyleHeaders
このオプションが設定されていれば、メッセージが古いスタイルのヘッ
ダを持つことがあることを意味します。このオプションが設定されてい
なければ、このメッセージが新しいスタイルを持っていることが保証さ
れ ます(2 つのアドレスの間はスペースのかわりにコンマで区切られま
す)。このオプションが設定されていると、ヘッダのフォーマットを た
いていの場合に正しく決定する適応アルゴリズムが用いられます。
QueueDirectory=queuedir
キューメッセージを保存するディレクトリを選択します。
StatusFile=file
指定した名前のファイルに統計情報をセーブします。
Timeout.queuereturn=time
キューのなかの配送されなかったメッセージのタイムアウト時間を設定
します。この時間内に(ホストのダウンなどにより)配送が行われなかっ
たときには、失敗した旨のメッセージが送り返されます。デフォルトは
5 日です。
UserDatabaseSpec=userdatabase
セットした場合、ユーザデータベースを見て、フォワード情報を 得 ま
す。この方法をエイリアス機構の補助として使用する事ができます。こ
の方法は、データベースが分配されることを意図している点が異なりま
す。一方、エイリアスは、そのホストローカルでのみ有効です。 send-
mail が USERDB 付きでコンパイルされていなければ使うことはでき ま
せん。
ForkEachJob
キューを処理する間、各ジョブごとに fork を行います。メモリが少な
いマシンでは便利です。
SevenBitInput
到着するメッセージを 7 ビットにします (8 ビット目は落します)。
EightBitMode=mode
8 ビットの入力を 7 ビットの宛先へ送る場合の処理方法を mode に 設
定 します。処理方法には、 m (mime 化) 7 ビット MIME 形式へ変換、
p (パス) 8 ビットのまま配送(プロトコルには違反します)、 s (厳密)
メッセージをバウンス、があります。
MinQueueAge=timeout
配送の試行の間、ジョブがキューに蓄積される時間を設定します。
DefaultCharSet=charset
文 字集合が特に指定されていない 8 ビットデータにラベル付けする際
に用いる、デフォルトの文字集合を設定します。
DialDelay=sleeptime
コネクションの確立が失敗した場合に、再試行までに sleeptime だ け
スリープします。オンデマンドでダイヤル接続するサイトでの使用に便
利です。
NoRecipientAction=action
受け手ヘッダ (To:, Cc:, Bcc:) がない場合の動作を action に設定し
ます。 none メッセージを変更しない、 add-to エンベロープで指定さ
れた受け手を入れた To: ヘッダを加える、 add-apparrently-to エ ン
ベ ロープで指定された受け手を入れた Apparrently-To: ヘッダを加え
る、 add-bcc 空の Bcc: ヘッダを加える、 add-to-undisclosed `To:
undisclosed-recipients:;' というヘッダを加える、という動作を指定
できます。
MaxDaemonChildren=N
待ち受け SMTP デーモンが同時に生成する子プロセスの最大数を N に
設定します。
ConnectionRateThrottle=N
SMTP ポートへの 1 秒当りの最大コネクション数を N に設定します。
エイリアスのなかで最初の文字が `|' で始まるものは、メールの内容をパイプ
でコマンドに送るものと解釈されます。 sendmail に引数の間から空白文字 を
削除させないようにする場合は名前をクォートする (" でくくる)必要がありま
す。以下に、例を示します:
msgs: "|/usr/bin/msgs -s"
エイリアスには、 ``:include:filename'' という文法もあります。 sendmail
は、 メールの受け手のリストを得るために、指定されたファイルを読みます。
以下に、例を示します:
poets: ":include:/usr/local/lib/poets.list"
上記の例の場合は、 /usr/local/lib/poets.list を読み、`poets' のグループ
のためのアドレスリストを作ります。
sendmail は、以下に示すような終了コードを返します。これらのコードは、
<sysexits.h> に定義されています。
EX_OK すべてのアドレスについて完全に成功しました。
EX_NOUSER
ユーザ名が認識できません。
EX_UNAVAILABLE
処理に必要なリソースを得ることができません。
EX_SYNTAX
アドレスに文法的な間違いがあります。
EX_SOFTWARE
引数が間違っているなどの、内部的なエラーです。
EX_OSERR
``cannot fork''' のような、一時的な OS エラーです。
EX_NOHOST
ホスト名が認識できません。
EX_TEMPFAIL
メッセージはすぐには送られませんでしたが、キューには入れられまし
た。
newaliases というコマンドで実行されると、 sendmail はエイリアスデータ
ベースを再構築します。 mailq というコマンドで実行されると、 sendmail は
メー ル キュー の内容を表示します。 hoststat というコマンドで実行される
と、 sendmail は、継続的なホスト状態データベースの内容を表示 し ま す。
purgestat というコマンドで実行されると、 sendmail は、継続的なホスト状
態データベースから期限切れのエントリを抹消します。 smtpd というコマンド
で 実 行されると、 -bd オプションを指定されたの同じように、 sendmail は
デーモンとして動作します。
注
sendmail は、多くの問題の原因だと責められることがよくありますが、実際の
と ころ、それらの問題は、ディレクトリのモードが過剰に許可された状態であ
るなど、他の問題に起因するものです。このため、 sendmail は、シ ス テ ム
ディ レクトリとファイルのモードをチェックし、それらディレクトリ、ファイ
ルが信頼するに足るものかどうかを決定します。 DontBlameSendmail オプショ
ン を設定することにより、このチェックをオフにし、システムのセキュリティ
を低下することもできますが、基本的には、パーミッションの問題は修正さ れ
ねばなりません。詳細な情報は、
http://www.sendmail.org/tips/DontBlameSendmail.html
を参照して下さい。
関連ファイル
/etc/mail/sendmail.cf そ れ 自 身を除き、以下のファイルのパスはすべて
/etc/mail/sendmail.cf の内部で指定されています。以下の値は概略に過ぎ ま
せん。
/etc/mail/aliases
エイリアス名の生データ
/etc/mail/aliases.db
エイリアス名のデータベース
/etc/mail/sendmail.cf
設定ファイル
/etc/mail/helpfile
ヘルプファイル
/etc/mail/statistics
統計情報ファイル
/var/spool/mqueue/*
テンポラリファイル
関連項目
mail(1), syslog(3), aliases(5), mailaddr(7), mail.local(8), rc(8),
rmail(8)
DARPA Internet Request For Comments RFC819, RFC821, RFC822. Sendmail
Installation and Operation Guide, No. 8, SMM.
http://www.sendmail.org/
歴史
sendmail コマンドは 4.2BSD から登場しました。
$Date: 2003/05/20 16:38:15 $ SENDMAIL(8)