doc/ja/man/man8/sendmail.8
Jun Kuriyama f95723cad8 Catching up to 3.1-19990311-STABLE. (without dhcp-related)
Reviewed by:	Japanese Online Manual Project <man-jp@jp.FreeBSD.ORG>
Submitted by:	Kazuo Horikawa <k-horik@yk.rim.or.jp>
1999-03-19 14:07:19 +00:00

563 lines
15 KiB
Groff

.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved.
.\" Copyright (c) 1983, 1997 Eric P. Allman. All rights reserved.
.\" Copyright (c) 1988, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" By using this file, you agree to the terms and conditions set
.\" forth in the LICENSE file which can be found at the top level of
.\" the sendmail distribution.
.\"
.\"
.\" @(#)sendmail.8 8.20 (Berkeley) 8/2/1998
.\" jpman %Id: sendmail.8,v 1.2 1997/06/05 01:31:44 yugawa Stab %
.\"
.Dd August 2, 1998
.Dt SENDMAIL 8
.Os BSD 4
.Sh 名称
.Nm sendmail
.Nd 電子メール配送デーモン
.Sh 書式
.Nm sendmail
.Op Ar flags
.Op Ar address ...
.Nm newaliases
.Nm mailq
.Op Fl v
.Sh 解説
.Nm sendmail
はメッセージを他の人に送ります。必要ならばネットワークを
通してメッセージを正しい場所に転送します。
.Pp
ただし、
.Nm sendmail
はユーザインタフェースとして使われることは考慮さ
れていません。ユーザにとって使いやすいフロントエンドは別のプログラムで
提供されます。
.Nm sendmail
は、あらかじめメールとして整形されたメッセージ
を配送するためだけに使われます。
.Pp
.Nm sendmail
を引数を指定せずに起動すると、
.Nm sendmail
は標準入力を EOF
(エンド・オブ・
ファイル)か `.'だけを含む行まで読み込み、メッセージのなかに記述されている
アドレスにメッセージのコピーを送ります。アドレスの文法や内容にもとづいて
経路に使用するネットワークを決定します。
.Pp
ローカルアドレスは、ファイルの中を検索して適当なエイリアスを行います。
先頭にバックスラッシュ `\\' のついたアドレスについては、エイリアスは
行なわれません。
通常、送り手はエイリアスの対象に含まれません。つまり、もし
`john' が `group' にメールを送って、 `john' が `group' に
含まれている場合、送ったメッセージは `john' には送られません。
.Ss パラメータ
.Bl -tag -width Fl
.It Fl B Ns Ar type
ボディのタイプを
.Ar type
に設定します。現在有効なのは、
.Li `7BIT'
.Li `8BITMIME'
です。
.It Fl ba
.Tn ARPANET
モードに移行します。すべての入力行は CR-LF で終わらなければならず、
すべてのメッセージの末尾には CR-LF がつきます。また、``From:'' と ``Sender:''
フィールドは送り手の名前としてチェックされます。
.It Fl bd
デーモンモードで実行します。Berkley
.Tn IPC
が必要です。
.Nm sendmail
.Xr fork 2
を行い、バックグラウンドで動作し、ソケット番号 25 で
.Tn SMTP
コネクションを
待ちます。通常このモードは、
.Pa /etc/rc
から実行されています。
.It Fl bD
フォアグラウンドで動作する以外は
.Fl bd
と同じです。
.It Fl bh
現在のホストの状況のデータベースを表示します。
.It Fl bH
現在のホストの状況のデータベースをパージします。
.It Fl bi
エイリアスデータベースを初期化します。
.It Fl bm
普通にメールを配送します(デフォルト)。
.It Fl bp
メールキューのリストを表示します。
.It Fl bs
標準入出力で
.Tn RFC821
にもとづいた
.Tn SMTP
プロトコルを使います。この
フラグは、
.Fl ba
フラグのうち
.Tn SMTP
互換の全ての操作を含みます。
.It Fl bt
アドレスのテストモードで起動します。このモードは対話
モードでアドレスを入力し、処理の過程を表示します。設定ファイル
をデバッグするのに使います。
.It Fl bv
名前のチェックだけを行います。メッセージの収集や配送は行い
ません。ベリファイモードは、ユーザやメーリングリストが有効かどうかを確認する
ために使います。
.It Fl C Ns Ar file
別の設定ファイルを使います。
.Nm sendmail
は、別の設定ファイル
を使用する場合は root として実行することはできません。
.It Fl d Ns Ar X
デバッグ値を
.Ar X
に設定します。
.ne 1i
.It Fl F Ns Ar fullname
送り手のフルネームを設定します。
.It Fl f Ns Ar name
``from'' に入る名前(つまり、送り手の名前です)を設定します。
.Fl f
は、``trusted''なユーザ(普通は
.Em root ,
.Em daemon ,
.Em network
です)が使うか、
送り手が自分自身の名前を指定して使う場合のみ指定することができます。
.It Fl h Ns Ar N
ホップカウントを
.Ar N
に設定します。ホップカウントは、
メールが処理されるたびに増えていきます。ホップカウントがリミットになった
とき、メールは「エイリアスがループしている」という旨のエラーメッセージと
いっしょに送り返されます。
もしこのフラグが指定されなければ、メッセージのなかの ``Received:'' 行がカウント
されます。
.It Fl i
入力されるメッセージ中の `.' だけを含む行を無視します。
このフラグは、データをファイルから読み込むような場合に使用する必要があります。
.It Fl N Ar dsn
配送状況の通知条件を
.Ar dsn
に設定します。
.Ar dsn
には、
.Ql never
(何も通知しない)または、コンマで区切った、
.Ql failure
(配送が失敗した場合に通知する)
.Ql delay
(配送が遅れた場合に通知する)
.Ql success
(配送が正常に行われた場合に通知する)
の組み合わせを指定する事ができます。
.It Fl n
エイリアスを行いません。
.It Fl O Ar option Ns = Ns Em value
オプション
.Ar option
を、指定した
.Em value
に設定します。この形式では長いオプション名が使用されます。
詳しくは後に記述します。
.It Fl o Ns Ar x Em value
オプション
.Ar x
を、指定した
.Em value
に設定します。
この形式では、一文字のオプション名しか使用できません。
短いオプション名についてはこのマニュアルには記述されていません。
詳しくは、
.%T "Sendmail Installation and Operation Guide"
を参照して下さい。
.It Fl p Ns Ar protocol
メッセージを受け取るのに利用するプロトコル名を設定します。
設定できるのは、
``UUCP'' のようなプロトコル名だけかプロトコル+ホスト名、たとえば ``UUCP:ucbvax''
などです。
.It Fl q Ns Bq Ar time
キューのなかにあるメッセージを処理する間隔を設定します。
.Ar time
を省略した場合は、キューの内容を一度だけしか処理しません。
.Ar time
は、
.Ql s
(秒)、
.Ql m
(分)、
.Ql h
(時間)、
.Ql d
(日)、
.Ql w
(週)の単位を付けた数字で指定します。
たとえば、
.Ql -q1h30m
.Ql -q90m
は、タイムアウトを 1 時間 30 分に設定します。
.Ar time
が指定されると、
.Nm sendmail
はデーモンとしてバックグラウンドで
実行されます。
このオプションは、問題なく
.Fl bd
と共に指定可能です。
.It Fl qI Ns Ar substr
キュー ID の文字列に
.Ar substr
が含まれるジョブのみを処理します。
.It Fl qR Ns Ar substr
受信者のリストの文字列に
.Ar substr
が含まれるジョブのみを処理します。
.It Fl qS Ns Ar substr
送信者の文字列に
.Ar substr
が含まれるジョブのみを処理します。
.It Fl R Ar return
メッセージがバウンスした時に返送されるメッセージの量を設定します。
.Ar return
パラメータには、メッセージ全体を返送する場合は
.Ql full
を、ヘッダのみを返送する場合は
.Ql hdrs
を指定します。
.It Fl r Ns Ar name
.Fl f
フラグと同じですが、古い形式です。
.It Fl t
受信者をメッセージから読み取ります。To:, Cc:, Bcc: フィールドが受信者
のアドレスとして読み込まれます。Bcc: フィールドはメッセージの転送前に
削除されます。
.It Fl U
最初の(ユーザからの)発送である事を示します。
このフラグは、
.Nm Mail
.Nm exmh
の様なユーザエージェントから呼び出す場合は
.Em 必ず
指定する必要があり、
.Nm rmail
等のネットワーク配送エージェントから呼び出す場合は、
.Em 絶対に
指定してはいけません。
.It Fl V Ar envid
オリジナルのエンベロープ ID を設定します。
これは、DSN をサポートするサーバ間では SMTP 上を伝達し、
DSN に従ったエラーメッセージの中で返送されます。
.It Fl v
詳細モードに移行します。展開されるエイリアスなどが報告されます。
.It Fl X Ar logfile
指定された
.Ar logfile
に、メーラに出たり入ったり
するすべてメッセージに関する情報を記録します。メーラをデバッグする際の
最後の手段としてのみ使ってください。非常に大量の情報があっという間に記録
されます。
.It Fl -
コマンドフラグ処理を停止し、残りの引数をアドレスとして使用します。
.El
.Ss オプション
.Nm sendmail
には、設定することができる多くの処理オプションがあります。
通常、これらのオプションはシステム管理者のみが使います。
オプションは、コマンドラインから
.Fl o
フラグを使って(短いオプション名で)指定したり、
.Fl O
フラグを使って(長いオプション名で)指定したり、
設定ファイルから指定することができます。ここに記述して
いるのは部分的なもので、コマンド行から指定する場合に便利な物だけを、
長いオプション名で示しています。完全なリスト(と詳細)は、
.%T "Sendmail Installation and Operation Guide"
を参照してください。
オプションには以下の物があります。
.Bl -tag -width Fl
.It Li AliasFile= Ns Ar file
別のエイリアスファイルを使います。
.It Li HoldExpensive
接続するのに時間がかかるホストと接続するときは、
すぐに接続せず、リクエストはキューに入れられます。
.It Li CheckpointInterval= Ns Ar N
.Nm sendmail
が、
.Ar N
個の配送に成功するたびにキューファイルに
チェックポイントを設定します(デフォルトは 10 個です)。これによって、
システムのクラッシュによって長いメーリングリストの配送が中断
されたときでも、再開時に同じ人に重複して配送されることを防ぎます。
.ne 1i
.It Li DeliveryMode= Ns Ar x
配送モードを
.Ar x
に設定します。配送モードには
.Ql i
対話的(同期的)配送モード、
.Ql b
バックグラウンド(非同期的)配送モード、
.Ql q
キューモード(実際の配送は、キューが実行されるときに行われる)、
.Ql d
延期モード(データベースの検索(特に DNS や NIS )が行われない以外は
.Ql q
と同じ)があります。
.It Li ErrorMode= Ns Ar x
エラー処理をモード
.Ar x
に設定します。
.Ql m
はエラーメッセージを送り返します。
.Ql w
はエラーメッセージを送り手の端末に書き出します
(送り手がログインしていなければ、メールを返します)。
.Ql p
は、エラーメッセージを端末に表示します(デフォルト)。
.Ql q
は、エラーメッセージを捨てます(exit コードだけを返します)。
.Ql e
は、BerkNet 用に特別処理をします。
もし、モード
.Ql m
.Ql w
を使っている場合に、エラーとなったメッセージが
エラーメールとして送り返されず、送り手が
.Nm sendmail
を実行している
マシン上のユーザならば、
メッセージのコピーは送り手のホームディレクトリにある
.Pa dead.letter
に追加されます。
.It Li SaveFromLine
メッセージのはじめに
.Tn UNIX Ns \-style
From 行を残します。
.It Li MaxHopCount= Ar N
メールがループしていると判断されない、最大のホップ数を
指定します。
.It Li IgnoreDots
`.' だけを含む行をメッセージの終わりとして解釈しません。
.It Li SendMimeErrors
エラーメッセージをMIMEフォーマットで送り返します。
設定されていない場合は、DSN (Delivery Status Notification: 配送状況通知) SMTP
拡張は無効になります。
.It Li ConnectionCacheTimeout= Ns Ar timeout
コネクションキャッシュの
.Ar timeout
を設定します。
.It Li ConnectionCacheSize= Ns Ar N
コネクションキャッシュのサイズを
.Ar N
に設定します。
.It Li LogLevel= Ns Ar n
ログレベルを
.Ar n
にします。
.It Li MeToo
エイリアスに自分自身が含まれている場合、``me''(送り手自身)にも送ります。
.It Li CheckAliases
.Xr newaliases 1
コマンドの実行の際、
エイリアスの右側の項目(エイリアスの値)を有効性をチェックします。
.It Li OldStyleHeaders
もしオプションが設定されていれば、メッセージが古いスタイルのヘッダ
を持つことがあることを意味します。
このオプションが設定されていなければ、このメッセージが新しい
スタイルを持っていることが保証されます(2 つのアドレスの間はスペースのかわり
にコンマで区切られます)。このオプションが設定されていると、大抵の場合、
ヘッダのフォーマットを正しく決定するためのアルゴリズムが用いられます。
.It Li QueueDirectory= Ns Ar queuedir
キューメッセージを保存するディレクトリを選択します。
.It Li StatusFile= Ns Ar file
指定した名前のファイルに統計情報をセーブします。
.It Li Timeout.queuereturn= Ns Ar time
キューのなかの配送されなかったメッセージのタイムアウト時間を設定します。
この時間内に(ホストのダウンなどにより)配送が行われなかったときには、
失敗した旨のメッセージが送り返されます。デフォルトは 5 日です。
.It Li UserDatabaseSpec= Ns Ar userdatabase
このオプションが設定されると、情報を送る際にユーザデータ
ベースに対する問い合わせが行われます。
この方法をエイリアス機構の補助として使用する事ができます。ただし、
エイリアスはそのホストローカルでのみ有効なので、データベースが意図的に
分散されている場合は使用できません。
.Nm sendmail
.Dv USERDB
付きでコンパイルされていなければ使うことはできません。
.It Li ForkEachJob
キューを処理する間、
.Xr fork 2
を行います。メモリが少ないマシン
では便利です。
.It Li SevenBitInput
到着するメッセージを 7 ビットにします (8 ビット目は落します)。
.It Li EightBitMode= Ns Ar mode
8 ビットの入力を 7 ビットの宛先へ送る場合の処理方法を
.Ar mode
に設定します。
処理方法には、
.Li m
(mime 化) 7 ビット MIME 形式へ変換、
.Li p
(パス) 8 ビットのまま配送(プロトコルには違反します)、
.Li s
(厳密) メッセージをバウンス、
があります。
.It Li MinQueueAge= Ns Ar timeout
配送の試行の間、ジョブがキューに蓄積される時間を設定します。
.It Li DefaultCharSet= Ns Ar charset
特に指定されていない場合に、8 ビットのデータである事を示す
ラベルとして使用されるデフォルトのキャラクタを設定します。
.It Li DialDelay= Ns Ar sleeptime
コネクションの確立が失敗した場合に、再試行までに
.Ar sleeptime
だけスリープします。オンデマンドでダイヤル接続するサイトでの使用に便利です。
.It Li NoRecipientAction= Ns Ar action
受信者ヘッダ (To: Cc: あるいは Bcc:) がない場合の動作を
.Ar action
に設定します。
.Li none
メッセージを変更しない、
.Li add-to
To: ヘッダにエンベロープで指定された受信者を加える、
.Li add-apparrently-to
Apparrently-To: ヘッダにエンベロープで指定された受信者を加える、
.Li add-bcc
空の Bcc: ヘッダを加える、
.Li add-to-undisclosed
.Ql "To: undisclosed-recipients:;"
というヘッダを加える、という動作が指定できます。
.It Li MaxDaemonChildren= Ns Ar N
待ち受け SMTP デーモンが同時に動作できる子プロセスの最大数を
.Ar N
に設定します。
.It Li ConnectionRateThrottle= Ns Ar N
SMTP ポートへの 1 秒当りの最大コネクション数を
.Ar N
に設定します。
.El
.Pp
エイリアスのなかで最初の文字が `|' で始まるものは、メールの内容をパイプで
コマンドに送るものと解釈されます。引数などをつけるために空白文字が
必要な場合はクォートする (" でくくる)必要があります。以下に、例を示します:
.Pp
.Bd -literal -offset indent -compact
msgs: "|/usr/bin/msgs -s"
.Ed
.Pp
エイリアスには、
.Dq :include: Ns Ar filename
という文法もあります。
.Nm sendmail
は、
メールの受け手のエイリアスとして、指定されたファイルを読みます。
以下に、例を示します:
.Pp
.Bd -literal -offset indent -compact
poets: ":include:/usr/local/lib/poets.list"
.Ed
.Pp
上記の例の場合は、
.Pa /usr/local/lib/poets.list
を読み、`poets' のグループの
ためのアドレスリストを作ります。
.Pp
.Nm sendmail
は、以下に示すような終了コードを返します。これらの
コードは、
.Aq Pa sysexits.h
に定義されています。
.Bl -tag -width EX_UNAVAILABLE -compact -offset indent
.It Dv EX_OK
すべてのアドレスについて完全に成功しました。
.It Dv EX_NOUSER
ユーザ名が認識できません。
.It Dv EX_UNAVAILABLE
処理に必要なリソースを得ることができません。
.It Dv EX_SYNTAX
アドレスに文法的な間違いがあります。
.It Dv EX_SOFTWARE
引数が間違っている等の、内部的なエラーです。
.It Dv EX_OSERR
.Dq cannot fork
のような、一時的な OS エラーです。
.It Dv EX_NOHOST
ホスト名が認識できません。
.It Dv EX_TEMPFAIL
メッセージはすぐには送られませんでしたが、
キューには入れられました。
.El
.Pp
.Nm newaliases
というコマンドで実行されると、
.Nm sendmail
はエイリアス
データベースを再構築します。
.Nm mailq
というコマンドで実行されると、
.Nm sendmail
はメールキューの内容を表示します。
.Sh 関連ファイル
.Pa /etc/sendmail.cf
とデーモンプロセス ID ファイルを除き、以下のファイルのパスはすべて
.Pa /etc/sendmail.cf
内部で決められています。以下は一例に過ぎません。
.Pp
.Bl -tag -width /usr/lib/sendmail.fc -compact
.It Pa /etc/aliases
エイリアス名の生データ
.It Pa /etc/aliases.db
エイリアス名のデータベース
.It Pa /etc/sendmail.cf
設定ファイル
.It Pa /usr/share/misc/sendmail.hf
ヘルプファイル
.It Pa /var/log/sendmail.st
統計情報ファイル
.It Pa /var/spool/mqueue/*
テンポラリファイル
.El
.Sh 関連項目
.Xr mail 1 ,
.Xr syslog 3 ,
.Xr aliases 5 ,
.Xr mailaddr 7 ,
.Xr mail.local 8 ,
.Xr rc 8 ,
.Xr rmail 8 ;
.Pp
DARPA
Internet Request For Comments
.%T RFC819 ,
.%T RFC821 ,
.%T RFC822 .
.Rs
.%T "Sendmail \- An Internetwork Mail Router"
.%V SMM
.%N \&No. 9
.Re
.Rs
.%T "Sendmail Installation and Operation Guide"
.%V SMM
.%N \&No. 8
.Re
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しました。