10.15. システムからのメールを確認【mail】

システムやサーバー監視のために mail コマンドを利用して特定のメールアドレスにメールを送信するように設定していたり、crontab や at コマンドのように、実行したプログラムの結果を mail コマンドで通知するなど、システムにアカウントを持つユーザーは、システムから自分宛のメールを届けられることがあります。mail コマンドは、このようにシステムから受け取ったメールを読んだり、メールの送信に使用されているコマンドです。

例えば、taro という一般ユーザでログインしている時に、

$ mail

と実行すると、taro 宛てに届いているメールのリストを表示することができます。メールは、/var/spool/mail/ ディレクトリ以下にユーザー名のファイルで保存されます。つまり、ユーザー名が taro の場合は、/var/spool/mail/taro に taro 宛のメールが格納されます。

試しに、root ユーザーから taro 宛に mail コマンドを利用してメールを送信してみます。最初に、taro から root としてログインし直します。

$ su -

root としてログイン後、次のコマンドを実行し、ユーザー taro へメールを送信します。

# mail taro              <- taro 宛のメールを作成する。
Subject: test            <- 件名を入力する。
mail test                <- 本文を入力する。
.                        <- . を入力し、本文を終了する。
Cc:                      <- [Enter]キーを押す。

プロンプトが返ってきたら、root からログアウトします。すでにメールは送信されています。

# exit

exit を実行して taro へ戻り、taro 宛に到着したメールを確認します。単に、mail とコマンドを実行します。

$ mail
Mail version 8.1 6/6/93.  Type ? for help.
"/var/spool/mail/taro": 1 message 1 new
>N  1 root@taro.jp.tla  Mon Feb 17 20:18  13/382   "test"
& 

先ほど、root から送信した件名 "test" のメールが到着していることを確認できます。プロンプト & で[Enter]キーを押せばメールが表示されます。メールが複数存在する場合は、& の後に読みたいメール番号を入力後、[Enter]キーを押します。

& 1
Message 1:
From root  Mon Feb 17 20:18:38 2003
Date: Mon, 17 Feb 2003 20:18:37 +0900
From: root <root@hiroyuki.jp.tlan>
To: taro@hiroyuki.jp.tlan
Subject: test

mail test

& 

q で読んだメールをメールボックス(~/mbox)へ移動して終了します。そのまま、/var/spool/mail/taro ファイルにメールを残して終了するには、x を入力します。なお、~/mbox ファイルへ移動された既読メールは、以下のように -f オプションを指定して読むことができます。

$ mail -f ~/mbox

mail コマンドのより詳細な情報は、man ページ mail(1) を参照してください。