Linux でメール(mail)を確認する
Linux システムにログインしたあと、次のような表示をよく目にすることがあります。
you have mail.
これは、システムのメールボックスに現在のユーザー宛てのローカルメールが届いていることを示します。多くの Linux ディストリビューションでは、ローカルメールは /var/spool/mail/ユーザー名 または /var/mail/ユーザー名 に保存されます。mail または mailx コマンドで直接確認できます。
メールを確認する
端末で次を実行します。
mail
mail は現在のユーザーのメールボックス内にあるメールを一覧表示し、時系列で表示します。対話画面に入ったあとの主な操作は次のとおりです。
Enter 次のメールを表示
p 現在のメールを再表示
d 現在のメールを削除
s filename 現在のメールを指定したファイルに保存
q mail を終了
h メール一覧を再表示
? ヘルプを表示
ローカルメールボックスのファイルが存在するかだけを確認したい場合は、次のように調べることもできます。
ls -l /var/spool/mail/$USER /var/mail/$USER 2>/dev/null
システムによってパスは異なる場合がありますが、通常は上記 2 つのパスのどちらかが存在します。
自分宛てにテストメールを送る
まず自分宛てにメールを 1 通送り、それを mail で読むと、流れを把握しやすくなります。
mail frank
続いて件名と本文を入力します。
Subject: test
This is a mail test
本文の入力が終わったら、Ctrl-D を押して入力を終了します。通常、端末には次のように表示されます。
EOT
その後、メールを確認します。
mail
次のような出力が表示されることがあります。
"/var/spool/mail/frank": 1 message 1 new
>N 1 frank@xteam.xteamlinux.com Thu Mar 25 11:00 13/403 "test"
&
メール番号を入力するか、そのまま Enter を押すと内容を確認できます。
Message 1:
From frank Thu Mar 25 11:00:25 1999
To: frank@xteam.xteamlinux.com
Subject: test
This is a mail test
&
& は mail の対話プロンプトです。この時点で d を入力するとメールを削除でき、q を入力すると終了できます。
ファイルからメールを送信する
メール本文をすでに用意している場合は、ファイルの内容をパイプ経由で送信できます。
mail -s "test subject" user@example.com < message.txt
ローカルユーザー宛てに送信することもできます。
mail -s "local test" "$USER" < message.txt
外部メールアドレスへ送信できるかどうかは、ローカル環境にメール転送エージェントが設定されているかに依存します。たとえば sendmail、postfix、またはその他の互換プログラムです。ローカルユーザー間で送受信するだけであれば、通常は完全な外部メールサーバー設定は不要です。
複数ユーザー端末通信:write と mesg
Linux が複数ユーザー環境で動作している場合、端末上に突然次のような情報が表示されることがあります。
Message from renee tty2...
同時に通知音が鳴ることもあります。これは、ユーザー renee が write コマンドを使ってあなたに端末メッセージを送ろうとしていることを示します。次のコマンドで応答できます。
write renee
これにより、あなたと renee の端末の間に簡単なテキスト通信経路が作られます。相手が入力した内容はあなたの端末に表示され、あなたが入力した内容も相手の端末に表示されます。
よく使われる約束は次のとおりです。
(o) 一通り話し終え、相手の番であることを示す
(oo) 通話終了を示す
例:
renee's terminal: frank's terminal:
[renee@xteam renee]$ write frank
Message from renee tty2...
$ write renee
Message from you tty1...
did you forget lunch? (o) did you forget lunch? (o)
ten minutes (o) ten minutes (o)
ok (oo) ok (oo)
Ctrl-D Ctrl-D
EOF EOF
Ctrl-D のほか、Delete を使って write コマンドを終了できる場合もあります。具体的な動作は端末設定によって異なります。
他の人から端末へメッセージを送られたくない場合は、次を使用します。
mesg n
再びメッセージの受信を許可するには、次を実行します。
mesg y
メッセージ受信を拒否しているユーザーに write リクエストを送った場合、またはログインしていないユーザーに通話を要求した場合、write は通話できない理由を表示します。
転載元:http://edu.codepub.com/2010/0413/21978.php
