MAIL(1)

名称
mail, Mail, mailx - メールの送信と受信

書式
mail [-EiInv] [-s subject] [-c cc-addr] [-b bcc-addr] [-F] to-addr ... [- sendmail-option ...] mail [-EHiInNv] [-F] -f [name] mail [-EHiInNv] [-F] [-u user] mail -e [-f name] mail [-H]

紹介
mail ユーティリティはインテリジェントなメール処理システムです。 コマンド文法は ed(1) に似ており、 ed(1) での行の代わりにメッセージを扱う形になっています。

次のオプションが使用可能です。

-v  冗長 (verbose) モードです。 メールの配送の詳細がユーザのターミナルに表示されます。

-e  メールボックス (デフォルトはシステムメールボックス) の中にファイルが 存在するかどうかをテストします。 メールが存在する場合、 終了ステータスとして 0 が返され、それ以外の場合は、1 が返されます。

-H  ヘッダの要約のみを書き出します。

-E  本文が空のメッセージを送信しません。 cron(8) スクリプトのエラーをパイプする場合に有用です。

-i  tty の割り込みシグナルを無視します。 これは特に雑音の多い電話回線を通して mail を使う場合に役に立ちます。

-I  入力がターミナルでない場合にでも強制的に mail を対話モードで実行します。 特にメールを送る時の特殊文字 ‘~’ は対話モードでのみ有効となります。

-n  起動時にシステム全体の mail.rc ファイルを読み込みません。

-N  メールを読んだりメールフォルダを編集する時に、最初のメッセージヘッダの 表示を行いません。

-s subject
    コマンドラインから subject を指定します ( -s フラグの後の最初の引数だけがサブジェクトとして使われます 空白を含むサブジェクトは引用符で囲むように注意して下さい)。

-c cc-addr
    カーボンコピーを cc-addr でリストされたユーザへ送ります。 cc-addr 引数は、コンマで区切られた名前のリストとなります。

-b bcc-addr
    ブラインドカーボンコピーを bcc-addr でリストされたユーザへ送ります。 bcc-addr 引数は、コンマで区切られた名前のリストとなります。

-f [mbox]
    あなたの mbox (もしくは指定されたファイル) の内容を処理対象として読み込みます。 quit した時には mail は削除されなかったメッセージをこのファイルに書き戻します。

-F  メッセージを最初の受信者にちなんだ名前を付けたファイルに記録します。 名前は、メールヘッダの “To:” 行で最初に現れるアドレスのログイン名部分です。 本フラグは、 record 変数の設定に優先します。

-u  これは以下と等価です。

        mail -f /var/mail/user

  起動時の動作
mail は、起動時に、システムのコマンドファイル /usr/share/misc/mail.rc, /usr/local/etc/mail.rc, /etc/mail.rc をこの順番に実行します。 ただし、 -n オプションを使用して、実行しないよう明示的に指定された場合は例外です。 次に、ユーザの個人的なコマンドファイル ~/.mailrc を実行します。 その後 mail ユーティリティはコマンドラインオプションを検査し、 新規メッセージを送るのか既存のメールボックスを読むのかを決定します。

  メールを送る
メッセージを 1 人かそれ以上の人に送るために mail をメールが送られる相手の名前を引数として起動することができます。 メッセージをタイプした後、行の先頭で <control-D> を入力します。 下記の メールにリプライしたり、メールを始める のセクションでは手紙を編集する際に役に立つ mail の機能について説明しています。

  メールを読む
通常の使い方では mail は引数を指定しないで起動すると、ポストオフィスのメールをチェックし、見 つかった各メッセージにつき 1 行ずつヘッダを表示します。 現在のメッセージは初期状態では最初のメッセージ ( 1 番に番号が振られて います) となっており、 print コマンド (省略形 p を使うことができます) によって表示することができます。 メッセージの位置を ed(1) と同様に + と - のコマンドを使って後や前に移動したり、単に数字を指定して移動したりする ことができます。

  メールを廃棄する
メッセージをチェックした後、メッセージを delete コマンド (d) で削除したり、それに reply コマンド (r) でリプライ (返事を出す) したりすることができます。 メッセージを削除すると mail プログラムはそのメッセージのことを忘れますが、 この操作は取り消すことができます。 メッセージは undeleted コマンド (u) を使ってメッセージの番号を指定するか、 mail のセッションを exit コマンド (x) で中途終了することによって削除をとりやめることができます。 しかし、削除されたメッセージは通常はなくなり二度と見ることはできませ ん。

  メッセージを指定する
print や delete のようなコマンドは、引数に複数のメッセージの番号を指定することによって 複数のメッセージに対して一度に適用することができます。 たとえば “delete 1 2” はメッセージ 1 と 2 を削除し、 “delete 1-5” は 1 から 5 のメッセージを削除します。 特別な名前 ‘*’ は全てのメッセージを意味し、 ‘$’ は最後のメッセージを意味します。 メッセージの最初の数行を表示するコマンド top を使って “top *” で全てのメッセージの最初の数行を表示することができます。

  メールにリプライしたり、メールを始める
reply コマンドを使ってメッセージに対する返事を用意して、それをメッセージの差 出人に送り返すことができます。 タイプインしたメッセージは end-of-file までがメッセージの内容として定 義されます。 メッセージを編集している時に mail は 文字 ‘~’ で始まる行を特別に扱います。 例えば、 ~m とタイプする (行にこれだけタイプします) と現在のメッセージを タブの分 (下記の変数 indentprefix を参照) だけ右にシフトして返事のメッセージにコピーします。 他のエスケープはサブジェクトの設定や、メッセージの受取人の追加や削除を 行なったり、またメッセージを修正するためにエディタを起動したり、コマン ドを実行するためにシェルを起動したりします (下にこれらのオプションの要約があります)。

  メールの処理セッションを終了する
mail セッションは quit コマンド (q) で終了することができます。 チェックされたメッセージは削除されていなければ mbox ファイルにセーブされます。削除されている場合は本当に廃棄されます。 チェックされていないメッセージはポストオフィスに書き戻されます (上記の -f オプション参照)。

  個人の配布リストとシステム全体の配布リスト
たとえば “cohorts” へメールを送ると複数の人に配布されるように、個人の配布リストを作成する こともできます。 このようなリストは

    alias cohorts bill ozalp jkf mark kridle@ucbcory

というような行をホームディレクトリの .mailrc ファイルに書いておくことによって定義できます。 このようなエイリアス (別名) の現在のリストは mail 内で alias コマンドを使って表示することができます。 システム全体にわたる配布リストは /etc/mail/aliases を編集することによって作成することができます。 これについては aliases(5) と sendmail(8) を参照してください。これらでは違った形式で記述されます。 あなたが送ったメールの中では個人のエイリアスが展開され、そのメールの受取 人が他の受取人に reply できるようになります。 システム全体の エイリアス はメールが送られた時には展開されませんが、 そのマシンに返信されたメールは sendmail(8) によって処理される際にシステム全体のエイリアスで展開されます。

  ネットワークメール (ARPA, UUCP, Berknet)
ネットワークアドレスの説明については mailaddr(7) を参照してください。

mail ユーティリティには .mailrc ファイルの中でセットして動作方法を変更するためのオプションがたくさんあ ります。 たとえば “set askcc” は askcc 機能を有効にします (これらのオプションについては下にまとめてあります)。

要約
( より抜粋)

各コマンドは行中に単独入力されるか、またコマンドの後に引数をとることも あります。 コマンドは全て入力する必要はありません。 途中まで入力されたものに最初にマッチしたコマンドが使われます。 メッセージリストを引数として取るコマンドについては、メッセージリストが 与えられなければコマンドに要求されるものを満たす次のメッセージが使われ ます。 次のメッセージがない場合にはサーチは逆順に行なわれ、もし適用されるメッ セージが発見できない場合には mail は “No applicable messages” と表示しコマンドを中断します。

-   前のメッセージを表示します。 数字の引数 n が指定されると、 n 個前に移動してメッセージを表示します。

#   行中のこれ以降をコメントとして無視します。

?   コマンドの短い要約を表示します。

!   これに引き続くシェルコマンドを実行します ( sh(1) と csh(1) を参照)。

Print
    (P) print と同様ですが、無視されるヘッダフィールドも表示されます。 print, ignore, retain を参照してください。

Reply
    (R) 発信者に返信します。 元のメッセージの他の受取人には返信されません。

Type
    (T) Print と同じです。

alias
    (a) 引数がない場合は、現在定義されている全てのエイリアスを表示します。 引数がひとつ伴うと、そのエイリアスを表示します。 複数の引数が指定されると、新しいエイリアスを作成するか、古いものを変更 します。

alternates
    (alt) alternates コマンドはいくつかのマシンにアカウントがある場合に便利な機能です。 mail に対してリストされたアドレスがあなたのアドレスであることを指示するため に使われます。 reply コマンドによってメッセージに返信するときに mail は alternates リストにリストされているアドレスにはメッセージのコピーを送付しません。 alternates コマンドが引数なしで指定された場合、現在の alternate の内容が表示され ます。

chdir
    (c) ユーザの作業ディレクトリを指定されたものに変更します。 ディレクトリが指定されていなければ、ユーザのログインディレクトリに変更 します。

copy
    (co) copy コマンドは save と同様のことを行ないますが、 quit 時に削除を行なうためのマークをメッセージにつけません。

delete
    (d) メッセージのリストを引数として取り、 それら全てを削除されたものとしてマークします。 削除されるメッセージは mbox にはセーブされず、また他のほとんどのコマンドの対象となりません。

dp  (もしくは dt) 現在のメッセージを削除し、次のメッセージを表示します。 次のメッセージがなければ、 mail は “at EOF” と表示します。

edit
    (e) メッセージのリストを引数として取り、各々を順にテキストエディタで開きま す。 メッセージはテキストエディタから戻ってきた時に再度読み込まれます。

exit
    (ex もしくは x) ユーザのシステムメールボックス、 mbox ファイル、 -f での編集ファイルを変更せずにシェルへ直ちに戻ります。

file
    (fi) folder と同様です。

folders
    フォルダディレクトリ内のフォルダ名をリストします。

folder
    (fo) folder コマンドは新しいメールファイルかフォルダに切り替えます。 引数がないと、現在どのファイルを読んでいるかを表示します。 引数を指定すると、現在のファイルに対して行なった変更 (削除など) を書き 出し、新しいファイルを読み込みます。 引数の名前にはいくつかの特別な記法を使うことができます。 ‘#’ は前のファイルを意味します。 ‘%’ はあなたのシステムメールボックスを意味します。 “%user” は user のシステムメールボックスを意味します。 ‘&’ はあなたの mbox ファイルを意味します。 “+folder” はあなたのフォルダディレクトリ中のファイルを意味します。

from
    (f) メッセージのリストを引数として取り、それらのメッセージのヘッダを表示し ます。

headers
    (h) 現在の範囲のヘッダをリストします。 現在の範囲は 18 個のメッセージのグループです。 引数として ‘+’ が指定されると次の 18 個のメッセージのグループが表示され、 ‘-’ が指定されると前の 18 個のメッセージのグループが表示されます。

help
    ? と同じです。

hold
    (ho もしくは preserve) メッセージのリストを引数として取り、各メッセージを mbox ではなくユーザのシステムメールボックスにセーブするためのマークをつけ ます。 delete によってマークが付けられているメッセージにはマークはつけません。

ignore
    ignored list にヘッダフィールドのリストを追加します。 ignore list (無視リスト) に登録されているヘッダフィールドは メッセージを表示する際にターミナルに表示されません。 このコマンドはマシンが生成するヘッダフィールドの表示を省略するのに非常 に便利です。 Type と Print コマンドを使うと表示の際に無視するフィールドも含めメッセージの全てを表 示することができます。 ignore が引数なしで実行されると現在の無視するフィールドのリストが表示されます。

inc メールを読んでいる間に届いた新規メッセージを取り込みます。 新規メッセージは、メッセージリストの最後に追加され、 現在のメッセージは最初の新メールメッセージにリセットされます。 既存のメッセージリストを再番号付けしませんし、 将来保存されるいかなる変更も実行しません。

mail
    (m) ログイン名と配布グループ名を引数として取り、メールをそれらの人々に送付 します。

mbox
    終了時にあなたのホームディレクトリの mbox へ書き込むメッセージのリストを指定します。 hold オプションをセットして いなければ 、これはメッセージに対するデフォルトの動作となります。

more
    (mo) メッセージのリストを引数として取り、そのリストに対してページャを起動し ます。

next
    (n, + や CR と同様) 次のメッセージへ進み、それを表示します。 引数リストを指定すると、次にマッチするメッセージを表示します。

preserve
    (pre) hold と同様です。

print
    (p) メッセージリストを引数として取り、各メッセージをユーザのターミナルに表 示します。

quit
    (q) セッションを終了し、 全ての未削除のまだセーブしていないメッセージをユーザのホームディレクトリの mbox ファイルへセーブし、 hold か preserve でマークされたメッセージか参照されなかったメッセージはシステムメールボッ クスに残し、その他の全てのメッセージをシステムメールボックスから削除し ます。 もし新しいメールがセッション中に届いていたら、メッセージ “You have new mail” を表示します。 もしメールボックスのファイルを -f フラグ付きで編集している途中であれば、編集中のファイルは再度書き込まれ ます。 編集中のファイルの再書き込みが失敗しなければシェルに戻ります。 編集中のファイルの再書き込みが失敗した場合、ユーザは exit コマンドによって抜け出すことができます。

reply
    (r) メッセージリストを引数として取り、メールを指定されたメッセージの差出人 と全ての受取人に送ります。 デフォルトのメッセージは削除されていてはいけません。

respond
    reply と同様です。

retain
    retained list (保持リスト) にヘッダフィールドのリストを追加します。 メッセージを表示する時には、retain list に登録されているヘッダ フィールドのみがターミナルに表示されます。 他の全てのフィールドは省略されます。 type と print コマンドを使うとメッセージの全てを表示することができます。 retain が引数を指定されずに実行されると、 現在 retain list に登録されているフィールドのリストを表示します。

save
    (s) メッセージのリストとファイル名を引数として取り、各メッセージを順にファ イルの末尾に追加します。 ファイル名が引用符で囲まれて表示され、それに続いて行数と文字数がユーザ のターミナルにエコーされます。

set (se) 引数がない場合には全ての変数の値を表示します。 引数が指定された場合はオプションをセットします。 引数は option=value ( ‘=’ の前後にはスペースは入りません) か option の形式を取ります。 空白やタブを代入式に含めるために引用符を代入文の どの部分にでも 置いてかまいません。例えば次のようになります。 “set indentprefix=->”

saveignore
    saveignore は ignore コマンドが print や type の際に行なうことを save の際に行なうものです。 これでマークされたヘッダフィールドは save コマンドによって保存される時や自動的に mbox へ保存される時にフィルタリングされて取り除かれます。

saveretain
    saveretain は retain が print や type の際に行なうことを save の際におこなうものです。 save コマンドによって保存される時や自動的に mbox へ保存される時には、これでマークされたヘッダフィールドのみが保存されます。 saveretain は saveignore に優先します。

shell
    (sh) シェルを対話モード起動します。

size
    メッセージのリストを引数として取り、各メッセージのサイズを文字数で表示 します。

source
    source コマンドはファイルからコマンドを読み込みます。

top メッセージのリストを引数として取り、各メッセージの先頭の数行を表示しま す。 表示する行数は変数 toplines によって制御でき、デフォルトでは 5 行となっています。

type
    (t) print と同様です。

unalias
    alias コマンドによって定義された名前のリストを引数として取り、記憶されている ユーザのグループを無効にします。 グループの名前は以後意味を持たなくなります。

undelete
    (u) メッセージのリストを引数として取り、各メッセージを削除されて いない ものとしてマークします。

unread
    (U) メッセージのリストを引数として取り、各メッセージを 未読 としてマークします。

unset
    オプションの名前のリストを引数として取り、それらの記憶されている値を無 効とします。 set の逆です。

visual
    (v) メッセージのリストを引数として取り、各メッセージについてスクリーンエディ タを起動します。

write
    (w) save と同様ですが、 (ヘッダを除いて) メッセージの本文 のみ が保存されます。 メッセージシステムを使ってソースプログラムテキストを送受信するような作 業で非常に便利です。

xit (x) exit と同様です。

z   mail ユーティリティは headers コマンドにて説明されているようにウィンドウいっぱいにメッセージヘッダを 表示します。 mail が指し示しているメッセージの位置は z コマンドによって次のウィンドウに進めることができます。 また、 z- コマンドを使って前のウィンドウに戻ることもできます。

  チルダ/エスケープ
ここではチルダエスケープを要約します。 チルダエスケープはメッセージを編集している時に特別の機能を実行するため に使われます。 チルダエスケープは行の先頭でのみ認識されます。 実際のエスケープ文字は escape オプションによってセットできるので、 “チルダエスケープ” という呼び方は多少間違ったものです。

~a  sign= オプションから、署名の文字列を、メッセージに挿入します。

~A  Sign= オプションから、署名の文字列を、メッセージに挿入します。

~b name ...
    カーボンコピーの受取人のリストへ指定された name を追加します。 ただし name は Cc: 行へは表示されません ( “ブラインド” カーボンコピー)。

~c name ...
    指定された name をカーボンコピーの受取人のリストに追加します。

~d  ホームディレクトリの dead.letter ファイルをメッセージ中に読み込みます。

~e  今までに編集したメッセージをテキストエディタで開きます。 編集セッションの終了後、メッセージに続けてテキストを追加することができ ます。

~f messages
    指定されたメッセージを送ろうとしているメッセージ中に読み込みます。 メッセージが指定されない場合は、現在のメッセージを読み込みます。 現在無視されているメッセージヘッダ ( ignore か retain コマンドによる) は読み込まれません。

~F messages
    ~f と同様ですが、全てのメッセージヘッダが含まれます。

~h  メッセージヘッダを順に各々を入力して編集し、テキストを末尾に追加したり、 現在のターミナルの erase 文字や kill 文字を使ってフィールドを変更した りします。

~i string
    指定したオプションの値を、メッセージのテキストに挿入します。

~m messages
    指定されたメッセージを現在送ろうとしているメッセージの中に読み込み、タブか indentprefix に設定されている値でインデントします。 メッセージが指定されていない場合は現在のメッセージが読み込まれます。 現在無視されているメッセージヘッダ ( ignore か retain コマンドによる) は読み込まれません。

~M messages
    ~m と同様ですが、全てのメッセージヘッダが読み込まれます。

~p  今までに修正したメッセージをメッセージヘッダフィールドと共に表示します。

~q  送ろうとしているメッセージを中断し、 save がセットされている場合はホームディレクトリの dead.letter にメッセージをセーブします。

~r filename, ~r!command

~< filename, ~<!command
    指定されたファイルをメッセージに読み込みます。 引数が ‘’! で開始する場合、残りの文字列は任意のシステムコマンドとして実行され、 標準出力がメッセージに挿入されます。

~R string
    string を Reply-To: フィールドとして使用します。

~s string
    指定された文字列を現在のサブジェクトフィールドに設定します。

~t name ...
    指定された名前を受取人のリストに追加します。

~v  別のエディタ ( VISUAL 環境変数によって定義されているもの) で現在までに修正したメッセージを 開きます。 通常は別のエディタはスクリーンエディタとなります。 エディタを終了した後、メッセージの末尾にテキストを追加できるようになり ます。

~w filename
    指定されたファイルにメッセージを書き込みます。

~x  ~q と同様に終了しますが、メッセージは dead.letter に保存されません。

~! command
    指定されたシェルコマンドを実行し、メッセージに戻ります。

~| command, ~^ command
    指定されたコマンドをフィルタとし、パイプを通してメッセージに適用します。 コマンドから何の出力もないか、コマンドが異常終了した場合は、メッセージ のテキストは元のままとなります。 メッセージを整形するためによく fmt(1) コマンドが command として使われます。

~: mail-command, ~_ mail-command
    指定された mail コマンドを実行します。 しかし全てのコマンドが使えるわけではありません。

~.  入力の end-of-file をシミュレートします。

~?  使用可能なコマンドエスケープのまとめを表示します。

~~ string
    メッセージに単独の ‘~’ で始まるテキスト文字列を挿入します。 エスケープ文字が変更されている場合は、それを送るためにはエスケープ文字 を 2 つ指定しなければなりません。

  メールオプション
オプションは set でセットし、 unset コマンドか set noname コマンドで無効化します。 2 値の場合はセットされているか、されていないかだけが意味を持ちます。 文字列の場合は実際にセットしている値が意味を持ちます。 オプションが設定されていない場合、 mail は、同名の環境変数を探します。 利用可能なオプションには次のものがあります。

append
    メッセージを mbox にセーブする場合、先頭に書くのではなく、末尾に追加します。 これは常にセットされていなければなりません (システムの mail.rc ファイルにおいて設定することが望ましいです)。 デフォルトは noappend です。

ask, asksub
    mail は送ろうとしている各メッセージのサブジェクトの入力を促します。 改行のみを入力するとサブジェクトフィールドは送られません。 デフォルトは asksub です。

askbcc
    各メッセージの編集後に追加のブラインドカーボンコピーの受取人の入力を促します。 現在のリストで十分な場合は改行のみを入力してください。 デフォルトは noaskbcc です。

askcc
    各メッセージの編集後に追加のカーボンコピーの受取人の入力を促します。 現在のリストで十分な場合は改行のみを入力してください。 デフォルトは noaskcc です。

autoinc
    新規メッセージが届くと自動的に取り込まれるようにします。 これを設定することは、各プロンプトで inc を実行することと同様ですが、 新規メッセージが到着しても現在のメッセージがリセットされないことが違います。 デフォルトは noautoinc です。

autoprint
    delete コマンドを dp のように動作させます。 すなわちメッセージの削除後、次のものが自動的に表示されます。 デフォルトは noautoprint です。

crt 値をとるオプション crt は、メッセージを読むために PAGER が使われるメッセージの長さの閾値として使われます。 crt が値なしでセットされていると、システムに保存されているターミナルの画面 の高さが閾値の計算に使われます ( stty(1) を参照して下さい)。 デフォルトは nocrt です。

debug
    2 値のオプション debug をセットするとコマンド行で -d を指定した時と同じ動作になり、 mail はデバッグに有用な全ての種類の情報を出力します。 デフォルトは nodebug です。

dot 2 値のオプション dot をセットすることによって、 mail は行中にピリオドが単独で入力されると、送ろうとしているメッセージが終了した ものとみなします。 デフォルトは nodot です。

escape
    これが定義されていると、このオプションの最初のキャラクタがエスケープを 示すための ‘~’ の代わりに使われます。

flipr
    コマンド reply と Reply の意味を反転させます。 デフォルトは noflipr です。

folder
    メッセージのフォルダを置くためのディレクトリ名です。 これが ‘/’ で始まっていると mail は絶対パスとして解釈します。 それ以外の場合はフォルダのディレクトリはホームディレクトリからの 相対パスとして扱われます。

header
    定義された場合、メールを読む時やメールフォルダを編集する時に、 まずメッセージヘッダを表示します。 デフォルトは header です。 コマンドラインに -N フラグを指定することで、本オプションを無効化できます。

hold
    このオプションはデフォルトでメッセージをシステムメールボックス中に保持 するために使われます。 デフォルトは nohold です。

ignore
    ターミナルからの割り込み信号を無視し、 @ としてエコーします。 デフォルトは noignore です。

ignoreeof
    ignoreeof は dot に関連するオプションであり、 mail にメッセージの最後での <control-D> を無視させます。 ignoreeof は mail のコマンドモード中でも有効となります。 デフォルトは noignoreeof です。

indentprefix
    チルダエスケープ ~m で、通常のタブ文字 (^I) の代わりにメッセージを インデントするために使われる文字列となります。 これにスペースやタブが含まれている場合は引用符で囲んで下さい。

metoo
    通常、差出人を含むグループの展開時には差出人は取り除かれます。 このオプションをセットすることによって差出人も展開されたグループに含ま れるようになります。 デフォルトは nometoo です。

quiet
    最初に起動された時にバージョンの表示を省略します。 デフォルトは noquiet です。

record
    これが定義されていると、全ての発信されるメールを記録するために使われる ファイルのパス名となります。 定義されていない場合は、発信メールはセーブされません。 デフォルトは norecord です。

Replyall
    reply コマンドと Reply コマンドの意味を逆転させます。 デフォルトは noReplyall です。

save
    本オプションがセットされている場合に、 RUBOUT (消去か削除) 2 回でメッセージを中断した場合、 mail は、部分的な手紙をホームディレクトリ下のファイル dead.letter へコピーします。 デフォルトは save です。

searchheaders
    このオプションがセットされていると、 “/x:y” の形式でのメッセージリストの指定はヘッダフィールド x 中にサブストリング y を含む全てのメッセージに展開されます。 ストリングのサーチは大文字と小文字を区別しません。 x を省略すると、デフォルトの “Subject” ヘッダフィールドになります。 書式 “/to:y” は特殊ケースであり、サブストリング y を “To”, “Cc”, “Bcc” のいずれかのヘッダフィールドに含む全メッセージに展開されます。 "to" のチェックは大文字小文字を区別しますので、 “/To:y” を使用すると、 y を “To:” フィールドでのみ探すように制限できます。 デフォルトは nosearchheaders です。

toplines
    定義された場合、 top コマンドで表示されるメッセージの行数を指定します。 通常は、最初の 5 行が表示されます。

verbose
    verbose オプションをセットするとコマンド行で -v フラグをセットした時と同様の動作となります。 mail が verbose (饒舌) モードで実行されている時、 実際のメッセージの配送の様子がターミナルに表示されます。 デフォルトは noverbose です。

環境変数

DEAD
    割り込み時や配送エラー時に、 一部のメッセージを保存するためのファイル名のパス。 デフォルトは ~/dead.letter です。

EDITOR
    edit コマンドと ~e エスケープで使われるテキストエディタのパス名です。 定義されていない場合はデフォルトのエディタが使われます。

HOME
    ユーザのホームディレクトリのパス名です。

LISTER
    folders コマンドで使われるディレクトリをリストするコマンドのパス名です。 デフォルトは /bin/ls です。

MAIL
    ユーザのメールボックスの場所です。 デフォルトは /var/mail です。

MAILRC
    初期 mail コマンドを含むファイルのパス名です。 デフォルトは ~/.mailrc です。

MBOX
    メールボックスファイルの名前です。 フォルダ名であっても構いません。 デフォルトは、ユーザのホームディレクトリ下の mbox です。

PAGER
    more コマンドや変数 crt がセットされている時に使われるプログラムのパス名です。 このオプションが定義されていないとデフォルトのページャ more(1) が使われます。

REPLYTO
    設定されている場合、送信メッセージの Reply-To フィールドの初期化に使用 されます。

SHELL
    ! コマンドや ~! エスケープで使われるシェルのパス名です。 このオプションが定義されていないとデフォルトのシェルが使われます。

VISUAL
    visual コマンドや ~v エスケープで使われるテキストエディタのパス名です。

USER
    メールコマンドを実行しているユーザのログイン名です。

関連ファイル
/var/mail/*
    ポストオフィスです。
~/mbox
    ユーザの古いメールです。
~/.mailrc
    起動時に実行される mail コマンドを指定するファイルです。 MAILRC 環境変数を設定すると、こちらが優先します。
/tmp/R*
    一時ファイルです。
/usr/share/misc/mail.*help
    ヘルプファイルです。

/usr/share/misc/mail.rc
/usr/local/etc/mail.rc
/etc/mail.rc
    システムの初期化ファイルです。 各ファイルが存在すればこの順に読み込まれます。

関連項目
fmt(1), newaliases(1), vacation(1), aliases(5), mailaddr(7), sendmail(8), The Mail Reference Manual.

歴史
mail コマンドは AT&T UNIX で登場しました。 本マニュアルページは 元々 Kurt Shoens によって書かれた をベースにしています。

バグ
ここに文書化されていないフラグがいくつか存在します。 ほとんどは一般のユーザには役に立たないものです。

混乱しやすいのですが、通常 mail は Mail と mailx への単なるリンクとなっています。

alternates リストの名前は正しくない英語ですが ( “alternatives” であるべきです)、互換性のためのそのままとなっています。