マニュアルページセク ション 1: ユーザーコマンド

印刷ビューの終了

更新: 2014 年 7 月
 
 

rmail(1)

名前

mail, rmail - メールの読み取りまたはユーザーへのメールの送信

形式

メールの送信

mail [-tw] [-m message_type] recipient...
rmail [-tw] [-m message_type] recipient...

メールの読み取り

mail [-ehpPqr] [-f file]

デバッグ

mail [-x debug_level] [other_mail_options] recipient...

説明

recipient は通常、ドメイン形式 ("user@machine") のアドレス、または login(1) が認識するユーザー名です。recipient を指定すると、mail はメッセージを送信中であるとみなします。このコマンドは、標準入力からファイルの終端 (Control-d) まで、あるいは端末デバイスから読み取っている場合は、ピリオドだけの行に至るまで読み取りを続けます。ファイルの終端またはピリオドだけの行のいずれかを受信すると、mail は各 recipient に対してレターをメールファイルに追加します。

レターは、最初にヘッダー行が数行、次に空行、さらに本文が続きます。レターのヘッダー行セクションは、1 つまたは複数の UNIX ポストマークから構成されます。

From sender date_and_time [remote from remote_system_name]

この後に、次の形式の 1 つまたは複数の標準メッセージヘッダー行が続きます。

keyword-name: [printable text]

ここで、keyword-name は、コロン (`:') 以外の表示可能なスペース以外の文字から構成されます。MIME-version: ヘッダー行は、メッセージが RFC 2045 の記述に従ってフォーマットされていることを示します。本文のバイト数を示す Content-Length: ヘッダー行は、レターがメッセージ内容のないヘッダー行だけから構成されていないかぎり、常に存在します。Content-Type: ヘッダー行は本文 (テキスト、アプリケーション/オクテットストリームなど) のタイプを示し、常に存在します。ただし、レターがメッセージ内容のないヘッダー行だけから構成されている場合は例外です。ヘッダー行は、その次の行がスペースで始まっている場合、次の行に継続できます。

オプション

メールの送信

次のコマンド行引数は、メール送信に影響を与えます。

–m message_type

Message-Type: 行を、message_type の値とともにメッセージヘッダーに追加します。

–t

対象となる recipient のそれぞれについて、To: 行を、メッセージヘッダーに追加します。

–w

リモート送信プログラムの完了を待たずに、レターをリモート受信者に送信します。

レターが配送できないことがわかった場合、そのレターは障害の原因と性質を示す診断とともに送信者に返されます。入力中に mail が中断された場合、メッセージを dead.letter というファイルにセーブするので、後から編集と再送信を実行することもできます。dead.letter は常に追加されるので、以前の内容はすべて保存されます。dead.letter の追加 (または作成) は、まず、現在のディレクトリで行われます。これが失敗すると、ユーザーのログインディレクトリに dead.letter を追加 (または作成) しようとします。2 度目の試行も失敗した場合は、dead.letter の処理は一切行われません。

rmail は、メールの送信だけ可能です。uucp(1C)rmail をセキュリティー通知として使用します。メールメッセージを生成するアプリケーションプログラムは、メッセージの送信や配送、またはその両方において、必ず、mail ではなく rmail を起動する必要があります。

ローカルシステムに Basic Networking Utilities をインストールしてある場合、ローカルシステムで利用可能な送信メカニズムに応じて、さまざまな方法でリモートシステム上の受信者にメールを送信できます。もっとも広く利用されているアドレス指定機構は、ドメイン形式と UUCP 形式の 2 つです。

ドメイン形式のアドレス指定

受信者名に `@' とドメイン (およびサブドメインもあり得る) 情報を追加してリモート受信者を指定します (たとえば、user@sf.att.com)。(ローカルシステム上でどの規則が利用可能かについての詳細は、ローカルシステム管理者に相談する必要があります)。

UUCP 形式のアドレス指定

リモート受信者は、sysa!user のように、受信者名にリモートシステム名と感嘆符を接頭辞として付けることによって指定します。csh(1) がデフォルトシェルの場合、sysa\!user を使用するようにしてください。一連のシステム名を感嘆符で区切れば、拡張したネットワークを介してレターを出力できます (たとえば、sysa!sysb!sysc!user または sysa\!sysb\!sysc\!user)。

メールの読み取り

次のコマンド行引数は、メールの読み取りに影響を与えます。

–e

メールがあるかどうかをテストします。mail は何も表示しません。

ユーザーにメールがある場合、0 の終了コードを返します。メールがない場合、1 の終了コードを返します。

–E

–e と似ていますが、新しいメールがあるかどうかをテストします。

ユーザーに新しいメールがある場合、0 の終了コードを返します。新しいメールがない場合、1 の終了コードを返します。既読のメールがある場合、2 の終了コードを返します。

–h

最初に、最新のメッセージではなく、ヘッダーのウィンドウを表示します。ディスプレイの後に ? プロンプトを表示します。

–p

配置を示すプロンプトなしに、すべてのメッセージを表示します。

–P

デフォルトの選択したヘッダー行を表示する代わりに、ヘッダー行すべてを表示してから、すべてのメッセージを表示します。

–q

割り込みを受けたあと、mail は終了します。通常、割り込みによって発生することは、表示中のメッセージの終了だけです。

–r

先入れ先出し方式でメッセージを表示します。

–f file

デフォルトのメールファイルの代わりに、mail は、file (たとえば、mbox) を使用します。

mail は、コマンド行引数の影響を特に受けないかぎり、後入れ先出し方式でユーザーのメールメッセージを表示します。メッセージ表示のデフォルトのモードは、至急必要なヘッダー行だけを表示することです。これらには、UNIX の From ポストマークおよび >From ポストマーク、From: ヘッダー行、Date: ヘッダー行、Subject: ヘッダー行、および Content-Length: ヘッダー行、ならびに To:Cc:Bcc: などの受信者ヘッダー行が含まれますが、これに限定されるわけではありません。ヘッダー行を表示したあと、mail は、メッセージに表示できない文字がないかぎり、その内容 (本体) を表示します。表示できない文字がある場合、mail は、メッセージの内容がバイナリである旨の警告文を発行し、その内容を表示しません (これは、p コマンドで無効にできます)。

各メッセージにおいて、ユーザーは ? というプロンプトを受け、標準入力から行が読み取られます。メッセージの配置を判別するときは、次のコマンドを利用できます。

#

現在のメッセージの数を表示します。

直前のメッセージを表示します。

<復帰改行>、+、または n

次のメッセージを表示します。

!command

シェルにエスケープして、command を実行します。

a

mail セッション中に到着したメッセージを表示します。

d または dp

現在のメッセージを削除し、次のメッセージを表示します。

d n

n 番のメッセージを削除します。次のメッセージを表示しません。

dq

メッセージを削除し、mail を終了します。

h

現在のメッセージを中心としてヘッダーのウィンドウを表示します。

hn

n 番のメッセージを中心としてヘッダーのウィンドウを表示します。

h a

ユーザーのメールファイルにすべてのメッセージのヘッダーを表示します。

h d

削除予定のメッセージのヘッダーを表示します。

m [ persons ]

指定された persons に現在のメッセージを送信 (および削除) します。

n

n 番のメッセージを表示します。

p

現在のメッセージを再度表示し、バイナリ (つまり、表示不能) の内容の表示を無効にします。

P

デフォルトの省略モードを無効にし、現在のメッセージを再表示して、ヘッダー行をすべて表示します。

q または CTRL-D

削除を解除したメールをメールファイルに戻し、mail を終了します。

r [ users ]

送信者とほかの users に応答してから、メッセージを削除します。

s [ files ]

メッセージを、指定された files (デフォルトは mbox) にメッセージの内容をヘッダー行なしでセーブし、メッセージを削除します。

u [ n ]

n 番のメッセージの削除を解除します (デフォルトは直前に読み取ったメッセージ)。

w [ files ]

指定された files (デフォルトは mbox) にメッセージの内容をヘッダー行なしでセーブし、メッセージを削除します。

x

メールすべてを変更を加えずにメールファイルに戻し、mail を終了します。

y [ files ]

–w オプションと同じ。

?

コマンドサマリーを表示します。

通常、ユーザーがログインする際にメールが存在すれば、それが通知されます。また、mail を使用中に新しいメールが到着した場合でも通知されます。

chmod(1) を使用し、2 種類の方法でメールファイルのアクセス権を処理すれば、mail の機能を変更できます。ファイルのその他のアクセス権を、読み取り書き込みともに可能 (0666)、読み取り専用 (0664)、または読み取り書き込みとも不可 (0660) とすることによって、プライバシをさまざまに調整できます。デフォルト (0660 モード) 以外に変更すると、空の場合でもファイルは保存され、希望のアクセス権が永久的になります (管理者は mailcnfgDEL_EMPTY_MAILFILE オプションを使用すれば、このファイル保存を無効にできます)。

メールファイルのグループ ID を mail として新しいメッセージを配送可能にし、メールファイルをグループ mail で書き込み可能にする必要があります。

デバッグ

次のコマンド行引数によって、mail は、デバッグ情報を提供します。

–x debug_level

mail は、デバッグ情報の入ったトレースファイルを作成します。

–x オプションを指定すると、mail/tmp/MLDBGprocess_id という名前のファイルを作成します。このファイルには、mail が現在のメッセージを処理した手順に関するデバッグ情報が入っています。debug_level の絶対値はデバッグ情報の長さを制御します。0 はデバッグなしを意味します。debug_level0 より大きい場合、デバッグファイルが保持されるのは、mail のメッセージ処理中に問題が発生した場合だけです。debug_level0 未満の場合、常にデバッグファイルを保持します。–xdebug_level を指定すると、/etc/mail/mailcnfg 内の DEBUG の指定すべてが無効になります。–x オプションの提供する情報は難解であり、役立つのはシステム管理者だけだと思われます。

配送通知

メールの通知には、いくつかの形式があります。次の行をメッセージヘッダーに挿入することによって実現します。

Transport-Options: [ /options ]

Default-Options: [ /options ]

>To: recipient [ /options ]

ここで、"/options" には、次のうちの 1 つまたは複数が使用できます。

/delivery

メッセージが recipient のメールボックスに正常に配送されたことを送信者に通知します。

/nodelivery

配送が成功したことを送信者に通知しません。

/ignore

配送が失敗したことを送信者に通知しません。

/return

メール配送が失敗したかどうかを送信者に通知します。送信者に失敗メッセージを返します。

/report

/return と同じ。ただし、元のメッセージは返しません。

デフォルトは /nodelivery/return です。矛盾のあるオプションを使用すると、最初のオプションを認識し、その後の矛盾する条件を無視します。

オペランド

メール送信には次のオペランドがあります。

recipient

ドメイン形式 ("user@machine") のアドレス、または login(1) が認識するユーザーログイン名

使用法

ファイルが 2G バイト (231 バイト) 以上ある場合の mailrmail の動作については、largefile(5) を参照してください。

環境変数

mail の実行に影響を与える次の環境変数についての詳細は、environ(5) を参照してください。LC_CTYPE、LC_MESSAGES、および NLSPATH。

TZ

日付と時間の文字列とともに使用するタイムゾーンを指定する

終了ステータス

次の終了ステータスが返されます。

0

そのユーザー宛のメールがあり、処理は正常に終了しました。

1

ユーザー宛のメールがなかった、または初期化時にエラーが発生しました。

>1

初期化のあとでエラーが発生しました。

ファイル

dead.letter

メールできなかったテキスト

/etc/passwd

送信者の識別および recipient の発見用

$HOME/mbox

セーブされたメール

$MAIL

メールファイルのパス名を含む変数

/tmp/MLDBG*

デバッグ・トレースファイル

/var/mail/*.lock

メールディレクトリのロック

/var/mail/:saved

一時ファイルを保持し、システムクラッシュ時のデータ損失を防ぐためのディレクトリ

/var/mail/user

ユーザーに送られたメール (ユーザーに届いたメール)。すなわち、デフォルトのメールファイル

var/tmp/ma*

一時ファイル

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/core-os

関連項目

chmod(1), csh(1), login(1), mailx(1), uucp(1C), uuencode(1C), vacation(1), write(1), attributes(5), environ(5), largefile(5)

前述の「配送通知」のセクションで説明したように、ヘッダー行による解釈と結果的な処置が発生するのは、配送 (または失敗) が行われたシステム上に、このバージョンの mail がインストールされている場合だけです。mail の初期のバージョンはどのタイプの配送通知もサポートしません。

条件によっては、ロックファイルの削除が失敗することがあります。

割り込み後、次のメッセージが表示されないことがあります。表示を強制するときは、p を入力します。