Original TITLE : Manpage of SENDMAIL 本ページは FreeBSD jpman project (man-jp@jp.FreeBSD.org) より寄贈いただきました。 SENDMAIL Section: Maintenance Commands (8) Updated: %Date: 2000/02/01 05:49:57 % Index <#index> JM Home Page <../../../index.html> roff page <../../../manual/sendmail/contrib/man8/sendmail.8> -------------------------------------------------------------------------------- 名称 sendmail - 電子メール配送デーモン 書式 sendmail [flags] [address ...] newaliases mailq [-v] hoststat purgestat smtpd 解説 sendmail はメッセージを一人または複数の受け手 (recipient) に送ります。必要ならば インターネットワークを 通してメッセージを正しい場所に転送します。 sendmail はユーザインタフェースとして使われることは考慮されていません。 ユーザに とって使いやすいフロントエンドは別のプログラムで 提供されます。 sendmail は、あ らかじめメールとして整形されたメッセージ を配送するためだけに使われます。 引数を指定せずに起動すると、 sendmail は標準入力をファイルの終端まで、または `.' だけを含む行まで読み込み、 そこで確認したメッセージのコピーを、 列挙されたアドレ スに送ります。アドレスの文法や内容にもとづいて 経路に使用するネットワークを決定 します。 ローカルアドレスは、あるファイルの中を検索して適当なエイリアスを行います。 先頭 にバックスラッシュ `\' のついたアドレスについては、エイリアスは 行なわれません。 8.10 から、送り手はエイリアス展開の対象に含まれるようになりました。 つまり、`joh n' が `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 は、別の設定ファイル を使用する場合は r oot として実行することはできません。 -dX デバッグ値を X に設定します。 -Ffullname 送り手のフルネームを設定します。 -fname ``from'' に入る名前(つまり、エンベロープ中の送り手 (envelope sender) の名前で す)を設定します。 最初の送信依頼の間に From: ヘッダが失われている場合、 このアド レスは From: ヘッダの中でも用いられる場合があります。 エンベロープ中の送り手アド レスは、 メッセージ伝送状態の通知の受け手として 用いられ、また、Return-Path: ヘ ッダにも現れます。 -f は、``trusted'' なユーザ(普通は root, daemon, network です )が使うか、 送り手が自分自身の名前を指定して使う場合のみ指定することができます。 それ以外の場合、X-Authentication-Warning ヘッダがメッセージに 付加されます。 -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 Gui de を参照してください。 オプションには以下の物があります。 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' を使ってい る場合に、エラーとなったメッセージが エラーメールとして送り返されず、送り手が se ndmail を実行している マシン上のユーザならば、 メッセージのコピーは送り手のホー ムディレクトリにある dead.letter に追加されます。 SaveFromLine メッセージのはじめに UNIX-style の From 行を残します。 MaxHopCount=N メールがループしていると判断されない、最大のホップ数を 指定します。 IgnoreDots `.' だけを含む行をメッセージの終わりとして解釈しません。 SendMimeErrors エラーメッセージをMIMEフォーマットで送り返します。 設定されていない場合は、DS N (Delivery Status Notification: 配送状況通知) SMTP 拡張は無効になります。 ConnectionCacheTimeout=timeout コネクションキャッシュの タイムアウトを設定します。 ConnectionCacheSize=N コネクションキャッシュのサイズを 設定します。 LogLevel=n ログレベルを設定します。 MeToo=False エイリアスに自分自身が含まれていても、``me''(送り手自身)には送りません。 CheckAliases newaliases <../man1/newaliases.1.html> (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 エンベロープで指定された受け手を入れた Apparrent ly-To: ヘッダを加える、 add-bcc 空の Bcc: ヘッダを加える、 add-to-undisclosed `T o: 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 は、以下に示すような終了コードを返します。これらの コードは、 に定義されています。 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 オプションを指定されたの同じように、 se ndmail はデーモンとして動作します。 注 sendmail は、多くの問題の原因だと責められることがよくありますが、 実際のところ、 それらの問題は、 ディレクトリのモードが過剰に許可された状態であるなど、 他の問題 に起因するものです。このため、 sendmail は、システムディレクトリとファイルのモー ドをチェックし、 それらディレクトリ、ファイルが信頼するに足るものかどうかを 決定 します。 DontBlameSendmail オプションを設定することにより、 このチェックをオフに し、システムのセキュリティを低下することも できますが、基本的には、パーミッショ ンの問題は修正されねばなりません。 詳細な情報は、 http://www.sendmail.org/tips/DontBlameSendmail.html を参照して下さい。 関連ファイル /etc/mail/sendmail.cf それ自身を除き、以下のファイルのパスはすべて /etc/mail/sen dmail.cf の内部で指定されています。以下の値は概略に過ぎません。 /etc/mail/aliases エイリアス名の生データ /etc/mail/aliases.db エイリアス名のデータベース /etc/mail/sendmail.cf 設定ファイル /etc/mail/helpfile ヘルプファイル /etc/mail/statistics 統計情報ファイル /var/spool/mqueue/* テンポラリファイル 関連項目 mail(1), syslog <../../LDP_man-pages/man3/syslog.3.html> (3), aliases <../man5/aliases.5.html> (5), mailaddr <../../LDP_man-pages/man7/mailaddr.7.html> (7), mail.local <../man8/mail.local.8.html> (8), rc(8), rmail <../man8/rmail.8.html> (8) DARPA Internet Request For Comments RFC819, RFC821, RFC822. Sendmail - An Intern etwork Mail Router, No. 9, SMM. Sendmail Installation and Operation Guide, No. 8 , SMM. http://www.sendmail.org/ 歴史 sendmail コマンドは 4.2BSD から登場しました。 -------------------------------------------------------------------------------- Index 名称 <#lbAB> 書式 <#lbAC> 解説 <#lbAD> パラメータ <#lbAE> オプション <#lbAF> 注 <#lbAG> 関連ファイル <#lbAH> 関連項目 <#lbAI> 歴史 <#lbAJ> -------------------------------------------------------------------------------- This document was created by man2html <../../man/man1/man2html.1.html> , using the manual pages. Time: 10:27:37 GMT, November 02, 2000