EN JA
MAIL(1)
MAIL(1) FreeBSD General Commands Manual MAIL(1)

名称

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

書式

mail [ -dEiInv][ -s subject][ -c cc-addr][ -b bcc-addr][ -F] to-addr ... [ -sendmail-option ...]

mail [ -dEHiInNv][ -F] -f [ name]

mail [ -dEHiInNv][ -F][ -u user]

mail [ -d] -e [ -f name]

紹介

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

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

-v
冗長 (verbose) モードです。メールの配送の詳細がユーザのターミナルに表示されます。
-d
デバッグモードです。詳細については、 debug メールオプションを参照してください。
-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 user
これは、以下と等価です。

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) で中途終了することによって削除をとりやめることができます。しかし、削除されたメッセージは、通常はなくなり二度と見ることはできません。

メッセージを指定する

printdelete のようなコマンドは、引数に複数のメッセージの番号を指定することによって複数のメッセージに対して一度に適用することができます。たとえば“ 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 Reference Manual より抜粋)

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

-
前のメッセージを表示します。数字の引数 n が指定されると、 n 個前に移動してメッセージを表示します。
#
行中のこれ以降をコメントとして無視します。
?
コマンドの短い要約を表示します。
!
これに引き続くシェルコマンドを実行します ( sh(1)csh(1) を参照)。
Print
( P) print と同様ですが、無視されるヘッダフィールドも表示されます。 print, ignoreretain を参照してください。
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 (無視リスト) に登録されているヘッダフィールドは、メッセージを表示する際にターミナルに表示されません。このコマンドは、マシンが生成するヘッダフィールドの表示を省略するのに非常に便利です。 TypePrint コマンドを使うと表示の際に無視するフィールドも含めメッセージの全てを表示することができます。 ignore が引数なしで実行されると現在の無視するフィールドのリストが表示されます。
inc
メールを読んでいる間に届いた新規メッセージを取り込みます。新規メッセージは、メッセージリストの最後に追加され、現在のメッセージは、最初の新メールメッセージにリセットされます。既存のメッセージリストを再番号付けしませんし、将来保存されるいかなる変更も実行しません。
mail
( m) ログイン名と配布グループ名を引数として取り、メールをそれらの人々に送付します。
mbox
終了時にあなたのホームディレクトリの mbox へ書き込むメッセージのリストを指定します。 hold オプションをセットして いなければ 、これは、メッセージに対するデフォルトの動作となります。
more
( mo) メッセージのリストを引数として取り、そのリストに対してページャを起動します。
next
( n, + や CR と同様) 次のメッセージへ進み、それを表示します。引数リストを指定すると、次にマッチするメッセージを表示します。
preserve
( pre) hold と同様です。
print
( p) メッセージリストを引数として取り、各メッセージをユーザのターミナルに表示します。
quit
( q) セッションを終了し、全ての未削除のまだセーブしていないメッセージをユーザのホームディレクトリの mbox ファイルへセーブし、 holdpreserve でマークされたメッセージか参照されなかったメッセージは、システムメールボックスに残し、その他の全てのメッセージをシステムメールボックスから削除します。もし新しいメールがセッション中に届いていたら、メッセージ“ You have new mail”を表示します。もしメールボックスのファイルを -f フラグ付きで編集している途中であれば、編集中のファイルは、再度書き込まれます。編集中のファイルの再書き込みが失敗しなければシェルに戻ります。編集中のファイルの再書き込みが失敗した場合、ユーザは、 exit コマンドによって抜け出すことができます。
reply
( r) メッセージリストを引数として取り、メールを指定されたメッセージの差出人と全ての受取人に送ります。デフォルトのメッセージは、削除されていてはいけません。
respond
reply と同様です。
retain
retained list (保持リスト) にヘッダフィールドのリストを追加します。メッセージを表示する時には、retain list に登録されているヘッダフィールドのみがターミナルに表示されます。他の全てのフィールドは、省略されます。 typeprint コマンドを使うとメッセージの全てを表示することができます。 retain が引数を指定されずに実行されると、現在 retain list に登録されているフィールドのリストを表示します。
save
( s) メッセージのリストとファイル名を引数として取り、各メッセージを順にファイルの末尾に追加します。ファイル名が引用符で囲まれて表示され、それに続いて行数と文字数がユーザのターミナルにエコーされます。
set
( se) 引数がない場合には、全ての変数の値を表示します。引数が指定された場合は、オプションをセットします。引数は、 option = value (‘ =’の前後には、スペースは入りません) か option の形式を取ります。空白やタブを代入式に含めるために引用符を代入文のどの部分にでも置いてかまいません。例えば次のようになります。“ set indentprefix="->"
saveignore
saveignore は、 ignore コマンドが printtype の際に行うことを save の際に行うものです。これでマークされたヘッダフィールドは、 save コマンドによって保存される時や自動的に mbox へ保存される時にフィルタリングされて取り除かれます。
saveretain
saveretain は、 retainprinttype の際に行うことを 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
指定されたメッセージを送ろうとしているメッセージ中に読み込みます。メッセージが指定されない場合は、現在のメッセージを読み込みます。現在無視されているメッセージヘッダ ( ignoreretain コマンドによる) は、読み込まれません。
~F messages
~f と同様ですが、全てのメッセージヘッダが含まれます。
~h
メッセージヘッダを順に各々を入力して編集し、テキストを末尾に追加したり、現在のターミナルの erase 文字や kill 文字を使ってフィールドを変更したりします。
~i string
指定したオプションの値を、メッセージのテキストに挿入します。
~m messages
指定されたメッセージを現在送ろうとしているメッセージの中に読み込み、タブか indentprefix に設定されている値でインデントします。メッセージが指定されていない場合は、現在のメッセージが読み込まれます。現在無視されているメッセージヘッダ ( ignoreretain コマンドによる) は、読み込まれません。
~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 no name コマンドで無効化します。 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 は、デバッグに有用な全ての種類の情報を出力します。 mail がメールを送るためにこのモードで呼び出される場合、すべての準備を実行して、それに関して報告しますが、メールは、実際には送られません。デフォルトは、 nodebug です。
dot
2 値のオプション dot をセットすることによって、 mail は、行中にピリオドが単独で入力されると、送ろうとしているメッセージが終了したものとみなします。デフォルトは、 nodot です。
escape
これが定義されていると、このオプションの最初のキャラクタがエスケープを示すための‘ ~’の代わりに使われます。
flipr
コマンド replyReply の意味を反転させます。デフォルトは、 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
! コマンドや ~! エスケープで使われるシェルのパス名です。このオプションが定義されていないとデフォルトのシェルが使われます。
TMPDIR
一時ファイルを作成するために使用されるディレクトリのパス名です。
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 コマンドは、 Version 1 AT&T UNIX で登場しました。このマニュアルページは、元々 Kurt Shoens によって書かれた The Mail Reference Manual をベースにしています。

バグ

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

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

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

January 5, 2006 FreeBSD