Linuxコマンド

mailコマンドでメールの閲覧や送信を行う

更新日:

メールの一覧表示

mailコマンドでメールを閲覧するには、引数なしでmailコマンドを実行します。

# mail

mailコマンドは、デフォルトでmbox形式で保存されているメールを閲覧しようとします。 mbox形式は/var/spool/mail/ユーザー名のファイルにメールを保存する形式です。

Maildir形式(ユーザーのホームディレクトのMaildirディレクトリにメールを保存する形式)を使用している場合は、次のようにmailコマンドを実行します。

$ mail -f ~/Maildir

コマンドを実行すると、メールボックスのメールの概要が一覧表示されます。

# mail
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/root": 9 messages 9 new
>N  1 foo@example.com   Wed Nov 13 14:48  28/985   "test1"
N  2 foo@example.com   Sun Apr 18 22:15  28/921   "test2"
N  3 (Cron Daemon)     Sun Apr 25 03:07  25/870   "Cron
N  4 hoge@example.com  Thu Apr 29 11:55  18/564   "testmail"
&

カレントメッセージの先頭に「>」が付きます。 最後の「&」はプロンプトで、コマンドの入力待ちであることを示します。

各カラムの意味は順に次の通りです。

  • メッセージの状態(status)
  • メッセージを識別する番号
  • 送信者アドレス
  • 受信日時
  • メールの行数と文字数(ヘッダーも含む)
  • 件名

メッセージは状態は1文字で表され意味は次の通りです。

N
新しいメッセージ
P
システムメールボックスに保存されるメッセージ
U
未読メッセージ。前回mailを呼び出したときに一覧表示されたが、その内容を読んでいないもの
*
ファイルやフォルダに保管または書き込まれたメッセージ
無し
メッセージは読まれたが、削除または保管されていないメッセージ

メッセージの閲覧

カレントのメッセージを表示するにはpをタイプします。

& p

次のメッセージを読むにはEnterだけを入力します。

& <ENTER>

直前のメッセージを表示するには-をタイプします。

& -

特定の番号のメッセージを表示するには、その番号を入力します。

& 10

=を入力すると、現在のメッセージの番号を表示します。

& =

一覧に戻りたければhをタイプします。

& h

メッセージの削除

dtと入力するとカレントメッセージを削除して、次のメッセージを表示します。

& dt

特定の番号のメッセージを削除するにはdの後にメッセージ番号を指定します。

d 番号
d 番号 番号 番号
d 番号-番号
d *

「番号-番号」のように範囲を指定することもできます。「*」を指定すると全てのメッセージを削除します。

メッセージはすぐに削除はされません。削除するようマークが付けられるだけです。 qをタイプすると、対話が終了しメッセージが削除されます。 メッセージの削除を取り消したい場合はxをタイプして対話を終了します。

コマンドの終了

qをタイプすると、コマンドが終了し、削除マークを付けられたメッセージはメールボックスから削除されます。

& q

xをタイプすると、メールボックスの状態を変更しないでコマンドを終了します。 つまりメールボックスはmailを開始した時の状態のままです。

& x

メールの送信

メールを送信する場合の書式は次の通りです。

mail [-s 件名] [-c CCアドレス] [-b BCCアドレス] TOアドレス
-s 件名
メールの件名を指定します。
-c CCアドレス
CCで送るアドレスを指定します。複数指定する場合はカンマで区切って指定します。
-b BCCアドレス
BCCで送るアドレスを指定します。複数指定する場合はカンマで区切って指定します。
TOアドレス

次に例を示します。

$ mail -s test taro@example.com
Hellow World!   ←本文入力する
.               ←終了は「.」を入力
EOT

また次にようにすると対話的ではなくメールを送信できます。

$ echo 'Hellow World!' | mail -s test taro@example.com

SMTPサーバーを指定してメールを送信する

SMTPサーバーを指定してメールを送信する場合は以下のような書式で送信できます。

mail -s 件名 -S smtp=smtp://SMTPサーバーIPアドレス:ポート番号 -r 送信元アドレス TOアドレス

今回の例では-rで送信アドレスも指定しています。

ヘルプの表示

ヘルプを表示するには?をタイプします。

& ?

-Linuxコマンド

Copyright© アナグマのモノローグ , 2021 All Rights Reserved Powered by STINGER.