Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sendmail(8) — NEWS-os 4.1C

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

binmail(1)

mail(1)

rmail(1)

syslog(3)

aliases(5)

mailaddr(7)

rc(8)

SENDMAIL(8)  —  NEWS-OS Programmer’s Manual

名称

sendmail − ネットワーク間のメール送信

形式

/usr/lib/sendmail [ flags ] [ address ...  ]

newaliases

mailq [ −v ]

解説

sendmail は 1人または複数の相手にメッセージを送信します。 どんなネットワークが必要だとしても、 ちゃんと経路を決めてそのメッセージを送ります。 sendmail はメッセージを正しい場所に配布するのに必要な ネットワーク間作業を行います。

sendmail はユーザインターフェースルーチンとしての意図はなく、 別のプログラムがユーザに使いやすいフロントエンドを提供することになっています。 sendmail は、事前にフォーマットされたメッセージを配布するためだけに使用されます。

フラグがなければ、 sendmail は、EOF または単一のドットだけの行がくるまでその標準入力を読み込み、 そのメッセージのコピーを、 リストされているアドレスすべてに送信します。 アドレスの形式とコンテキストに基づいて、使用するネットワークを決定します。

ローカルアドレスは、あるファイルの中にあるかどうか調べられ、 適当な別名に変更されます。 アドレスの前にバックスラッシュを付ければ、別名に変更されません。 展開された別名に送信者が含まれることは普通ありません。 すなわち、‘john’ が ‘group’ に送信し、 ‘group’ を展開したものに ‘john’ が含まれる場合、 その手紙が ‘john’ に配布されるようなことはありません。

フラグには次のものがあります。

−J または −JC または −EC
メッセージを次のようなエスケープシーケンスを使用する 7ビットメールコードに変換します。

シフト JIS:ESC $ B、ESC ( J、ESC ( I
日本語 EUC:ESC $ B、ESC ( B、ESC ( I
韓国語 EUC:ESC $ ( C、ESC ( B
ISO 8859-1:SO、SI
中国語 TCA:ESC $ ( 0、ESC $ ( 1、ESC $ ( ?、ESC ( B

−Jxy メッセージを JIS コードに変換します。 x は ‘B’、‘@’ のどちらか、 y は ‘J’、‘B’、‘H’ のいずれかです。 エスケープシーケンスは、‘ESC $ x’ (漢字を指示)と ‘ESC ( y’ (ASCII を指示)が使われます。 ‘ESC ( I’ (片仮名を指示)は変更できません。

−JS メッセージをシフト JIS コードに変換します。

−JE メッセージを EUC に変換します。

−ba ARPANET モードに入ります。入力行はすべて、 CR−LF で終わらなければなりません。 メッセージはすべて、最後に CR−LF を付けて生成しなければなりません。 また、“From:”と“Sender:”のフィールドを調べて、送信者の名前を捜します。

−bd デーモンとして実行します。これは Berkeley IPC を要求します。 sendmail は分岐してバックグラウンドで実行します。入ってくる SMTP 接続に対しては、 ソケット 25 で listen します。これは普通、 /etc/rc から実行されます。

−bi 別名データベースを初期化します。

−bm 通常の方法でメールを配布します(デフォルト)。

−bp 待行列のリストをプリントします。

−bs SMTP プロトコルを標準入力と出力上で、RFC821 で説明したように使用します。 このフラグは、SMTP と互換性のある −ba フラグのすべての操作を包含しています。

−bt アドレスのテストモードで実行します。 このモードは、アドレスを読み込み、 解析ステップを示します。 これはコンフィグレーションテーブルのデバッグ作業で使用します。

−bv 名前の検証だけを行い、 メッセージの収集や配布は行ないません。 検証モードは普通、 ユーザまたはメールリストの妥当性を検査するのに使用します。

−bz コンフィグレーション凍結ファイルを作成します。

−Cfile 代わりのコンフィグレーションファイルを使用します。 代わりのコンフィグレーションファイルが指定されている場合には、 sendmail はルートとして実行するのを拒絶します。 コンフィグレーション凍結ファイルは無視されます。

−dX デバッグ値を X にします。

−Ffullname 送信者の正式名(フルネーム)を設定します。

−fname “from”の名前を設定します (すなわち、メールの送信者)。 −f は“trusted (信用できる)” ユーザ (普通はルート、デーモン、およびネットワーク)、 または自分自身と同じものになろうとする場合にだけ使用できます

−hN ホップカウントを N にします。 ホップカウントはメールを処理する度に増加します。 限界に達すると、メールはエラーメッセージとともに返ります。 別名作業ループの弊害です。指定されない場合には、メッセージ内の “Received:”行を数えます。

−n 別名処理を停止します。

−oxvalue オプション x を指定した value (値)にします。オプションは以下で説明します。

−q[time] キューにセーブしたメッセージを指定した時間間隔で処理します。 time が省略された場合には、そのキューを一度処理します。 time はタグ付き数字で指定します。 ‘s’は秒、‘m’は分、‘h’は時間、‘d’は日、 および‘w’は週です。例えば、“−q1h30m”または“−q90m”は両方とも、 タイムアウトを" 1時間30分にします。 time が指定された場合には、 sendmail はバックグラウンドで実行します。このオプションは −bd オプションとともに安全に使用できます。

−rname −f フラグの代わりの形式で、旧式です。

−t 相手に対するメッセージを読み込みます。 To: および、Cc:、Bcc: の行は、 相手のアドレスを捜すのに走査されます。 Bcc: の行は、送信前に削除されます。 引数リストの中の任意のアドレスは削除されます。 すなわち、たとえメッセージヘッダの中にリストされていても、 コピーは受け取りません。

−v 冗長モードに入ります。別名の展開が通知されます。

設定できる処理オプションも数多くあります。 普通これらは、システム管理者だけが使用します。 オプションは、コマンド行で −o フラグを使用して指定するか、 コンフィグレーションファイルの中で指定することができます。 詳細については、 Sendmail Installation and Operation Guide で説明してあります。 オプションには次のものがあります。

Afile 代わりのの別名ファイルを使用します。

c 接続するには“高価”と考えられるメイラーでは、 すぐに接続を開始しないで下さい。これはキュー化作業が必要です。

dx 配布モードを x にします。配布モードは次の通りです。 ‘i’は対話型(同期)配布、‘b’はバックグラウンド(非同期)配布、 および‘q’はキューのみ、 すなわち実際の配布はキューが実行された次に行なわれます。

D 必要ならば、別名データベースを自動的に再作成します。

ex エラー処理をモード x にします。正しいモードとして、 ‘m’はエラーメッセージをメールで送り返します。 ‘w’はエラーメッセージを“書き込み”ます (または送信者がログインされていなければ、送り返します)。 ‘p’は端末にエラーをプリントします。 ‘q’はエラーメッセージを捨てます (単に終了ステータスを返します)。 そして、 ‘e’は BerkNet 用の特別処理を行います。 ‘m’または‘w’のモードによってメッセージテキストが 送り返されない場合、また送信者がこのマシンにローカルな場合には、 送信者のホームディレクトリにある “dead.letter”ファイルにメッセージのコピーを追加します。

Fmode 一時ファイルを作成するときに使用するモード。

f メッセージの先頭に、UNIX型の From 行をセーブします。

gN 郵送者を呼び出すときに使用するデフォルトのグループID。

Hfile SMTP のヘルプファイル。

i メッセージの終了の印として、ドットだけの行を使わないようにします。

Ln ログレベル。

m 自分が別名の展開に含まれている場合には、“自分”(送信者)にも送信します。

o 設定されていれば、このメッセージは古い型のヘッダがある可能性があります。 設定されていなければ、このメッセージは新しい型のヘッダーが あることが保証されています (すなわち、アドレスの間に空白の代わりにコンマがあります)。 設定されていれば、あらゆる場合のヘッダフォーマットを正しく決定できる、 適応アルゴリズムが使用されます。

Qqueuedir キューメッセージを入れるディレクトリを選択します。

rtimeout 読み込み時のタイムアウト。何も設定しなければ、 sendmail は郵送者を永久に待ちます。 このオプションは、SMTP仕様のワードを無視して(その意志がなくても)、 タイムアウトをおそらくかなり大きくする必要があることを示しています。

Sfile 指定したファイルに統計をセーブします。

s 厳密には不必要な環境でも、キューファイルを常に例示します。 これは配布中のシステムクラッシュに対する安全性を提供しています。

Ttime キューの未配布メッセージ上のタイムアウトを、指定した時間に設定します。 配布がこの時間だけ異常終了すると (例えば、ホストがダウンしたことによって)その後で、 異常メッセージが送信者に返されます。デフォルトは 3 日です。

tstz,dtz タイムゾーンの名前を設定します。

uN メイラー用のデフォルトのユーザID を設定します。

別名では、名前の最初の文字はバーチカルバーでも可能です。 これによって、名前の残りの部分はコマンドとして解釈され、 そのメールをパイプします。 sendmail が引数の間から空白を削除しないように、 引用符で囲む必要があるかも知れません。 例えば、共通の別名は次の通りです。

        msgs: "|/usr/ucb/msgs −s"

別名にはまた、“:include: filename” という構文があり、受容者のリストを得るために、 sendmail が指定したファイルを読み込むよう指示します。 例えば、次のような別名があります。

poets: ":include:/usr/local/lib/poets.list"

これはグループを構成するアドレスのリストのために、 /usr/local/lib/poets.list を読み込みます。

sendmail は、何を行なったかを説明する終了ステータスを返します。 コードは  <sysexits.h> で定義されています。

EX_OKすべてのアドレス上で正しく完了した。

EX_NOUSERユーザ名を認識しない。

EX_UNAVAILABLE必要なリソースが使用不可能。

EX_SYNTAXアドレスに構文エラーがある。

EX_SOFTWARE内部ソフトウェアのエラー。

EX_OSERR“フォーク不可能”のような一時的な オペレーティングシステムのエラー。

EX_NOHOSTホスト名を認識しない。

EX_TEMPFAILメッセージは即座に送信できず、キューに入る。

newaliases として呼び出された場合には、 sendmail は別名データベースを再作成します。 mailq として呼び出された場合には、 sendmail はメールキューの内容をプリントします。

関連ファイル

/etc/sendmail.cf 以外のこれらのパス名は、 すべて /etc/sendmail.cf の中で指定されています。 従って、これらの値はおよその目安にすぎません。

/etc/aliases別名の生データ
/etc/aliases.pag
/etc/aliases.dir別名のデータベース
/etc/sendmail.cfコンフィグレーションファイル
/etc/sendmail.fcコンフィグレーション凍結ファイル
/usr/lib/sendmail.hfヘルプファイル
/etc/sendmail.st収集した統計
/usr/spool/mqueue/syslogログファイル
/usr/spool/mqueue/∗一時ファイル

関連事項

binmail(1), mail(1), rmail(1), syslog(3), aliases(5) mailaddr(7), rc(8);
DARPA Internet Request For Comments RFC819, RFC821, RFC822;
Sendmail − An Internetwork Mail Router(SMM:16);
Sendmail Installation and Operation Guide(SMM:7)

NEWS-OSRelease 4.1C

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026