Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all 

名称
sendmail - 電子メール配送デーモン
書式
sendmail [flags] [address ...]
newaliases
mailq [-v]
hoststat
purgestat
smtpd
解説
sendmail はメッセージを一人または複数の受け手 (recipient) に送ります。必要ならばインターネットワークを 通
してメッセージを正しい場所に転送します。
sendmail はユーザインタフェースとして使われることは考慮されていません。 ユーザにとって使いやすいフロント
エンドは別のプログラムで 提供されます。 sendmail は、あらかじめメールとして整形されたメッセージ を配送す
るためだけに使われます。
引数を指定せずに起動すると、 sendmail は標準入力をファイルの終端まで、または `.'だけを含む行まで読み込
み、 そこで確認したメッセージのコピーを、 列挙されたアドレスに送ります。アドレスの文法や内容にもとづいて
経路に使用するネットワークを決定します。
ローカルアドレスは、あるファイルの中を検索して適当なエイリアスを行います。 先頭にバックスラッシュ `\' の
ついたアドレスについては、エイリアスは 行なわれません。 8.10 から、送り手はエイリアス展開の対象に含まれる
ようになりました。 つまり、`john' が `group' にメールを送る 際に、 `john' が `group' に含まれているなら
ば、 送ったメッセージは `john' にも送られます。
パラメータ
-Btype ボディのタイプを type に設定します。現在有効なのは、 7BIT か 8BITMIME です。
-ba ARPANET モードに移行します。すべての入力行は CR-LF で終わらなければならず、 すべてのメッセージの末
尾には CR-LF がつきます。また、``From:'' と ``Sender:'' フィールドは送り手の名前としてチェックされ
ます。
-bd デーモンモードで実行します。Berkley IPC が必要です。 sendmail は fork を行い、バックグラウンドで動
作し、ソケット番号 25 で SMTP コネクションを 待ちます。通常このモードは、 /etc/rc から実行されてい
ます。
-bD フォアグラウンドで動作する以外は -bd と同じです。
-bh 継続的なホスト状況データベースの現在の値を表示します。
-bH 継続的なホスト状況データベースから 期限切れのエントリを抹消します。
-bi エイリアスデータベースを初期化します。
-bm 普通にメールを配送します(デフォルト)。
-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 が sendmail を呼ぶときがそうです。
-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
Installation and Operation Guide を参照して下さい。
-pprotocol
メッセージを受け取るために利用するプロトコル名を設定します。 設定できるのは、``UUCP'' のようなプロ
トコル名だけか プロトコル+ホスト名、たとえば ``UUCP:ucbvax'' などです。
-q[time]
キューのなかにあるメッセージを処理する間隔を設定します。 time を省略した場合は、キューの内容を一度
だけしか処理しません。 time は、 `s' (秒)、 `m' (分)、 `h' (時間)、 `d' (日)、 `w' (週)の単位を付
けた数字で指定します。 たとえば、 `-q1h30m' や `-q90m' は、タイムアウトを 1 時間 30 分に設定しま
す。 time が指定されると、 sendmail はデーモンとしてバックグラウンドで 実行されます。 このオプショ
ンは、問題なく -bd と共に指定可能です。
-qIsubstr
キュー ID の文字列に substr が含まれるジョブのみを処理します。
-qRsubstr
受け手のリストの文字列に substr が含まれるジョブのみを処理します。
-qSsubstr
送り手の文字列に substr が含まれるジョブのみを処理します。
-R return
メッセージがバウンスした時に返送されるメッセージの量を設定します。 return パラメータには、メッセー
ジ全体を返送する場合は `full' を、ヘッダのみを返送する場合は `hdrs' を指定します。
-rname -f フラグと同じですが、古い形式です。
-t 受け手をメッセージから読み取ります。To:, Cc:, Bcc: フィールドが受け手 のアドレスとして読み込まれま
す。Bcc: フィールドはメッセージの転送前に 削除されます。
-U 最初の(ユーザからの)発送である事を示します。 このフラグは、 Mail や exmh のようなユーザエージェン
トから呼び出す場合は 必ず 指定する必要があり、 rmail などのネットワーク配送エージェントから呼び出
す場合は、 絶対に 指定してはいけません。
-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
セットした場合、ユーザデータベースを見て、 フォワード情報を得ます。 この方法をエイリアス機構の補助
として使用する事ができます。 この方法は、データベースが分配されることを意図している点が異なりま
す。 一方、エイリアスは、そのホストローカルでのみ有効です。 sendmail が 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 から登場しました。
5Date: 2000/12/14 23:08:15 5 SENDMAIL(8)