メールの一覧表示
「mbox形式」のメールを閲覧するには、引数なしで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を呼び出したときに一覧表示されたが、その内容を読んでいないもの
- *
- ファイルやフォルダに保管または書き込まれたメッセージ</dd
- 無し
- メッセージは読まれたが、削除または保管されていないメッセージ
メッセージの閲覧
カレントのメッセージを表示するにはpをタイプします。
& p
次のメッセージを読むにはEnter(またはn)だけを入力します。
& <ENTER>(または n)
直前のメッセージを表示するには-をタイプします。
& -
特定の番号のメッセージを表示するには、その番号を入力します。
& 10
=を入力すると、現在のメッセージの番号を表示します。
& =
一覧に戻りたければhをタイプします。hはヘッダーの一覧を表示します。
& h
次のヘッダーの一覧を表示したい場合はzをタイプします。hは現在のヘッダーの一覧を表示し、zはその次の一覧を表示します。
& z
z-はひとつ前のヘッダー一覧を表示します。
& z-
メッセージの削除
dと入力すると(>で示しれる)カレントメッセージ削除します。dt(またはdp)と入力するとカレントメッセージを削除して、次のメッセージを表示します。
& d
& dt(または dp)
特定の番号のメッセージを削除するにはdの後にメッセージ番号を指定します。
d 番号
d 番号 番号 番号
「番号-番号」のように範囲を指定することもできます。「*」を指定すると全てのメッセージを削除します。
d 番号-番号
d *
メッセージはすぐに削除はされません。削除するようマークが付けられるだけです。
qをタイプすると、対話が終了しメッセージが削除されます。
メッセージの削除を取り消したい場合はxをタイプして対話を終了します。
コマンドの終了
qをタイプすると、コマンドが終了し、削除マークを付けられたメッセージはメールボックスから削除されます。
& q
xをタイプすると、メールボックスの状態を変更しないでコマンドを終了します。
つまりメールボックスはmailを開始した時の状態のままです。
& x
メールを送信する
メールの送信方法をいくつか説明します。
対話形式でメールを送信する
&プロンプトが表示されているときに、新規メールを作成して送付するには次の手順を実行します。
- &プロンプトに続けて m を入力しEnterを押します。
- 「To:」が表示されるので、続けて宛先メールアドレスを入力しEnterを押します。
- 「Subject:」が表示されるので、続けて件名を入力しEnterを押します。
- その後にメッセージ本文を入力します。
- 本文の入力を終えるには単独行にピリオド(.)だけ入力してEnterを押します。するとメールが送信されます。
これでメッセージが送信されます。手順全体を実行した例は次の通りです。
& m
To: foo@example.com
Subject: 件名を入力
メッセージ本文を入力します。
.
EOT
&
mailコマンドでメールを送信する
mailコマンドでメールを送信する場合の書式は次の通りです。
mail [-s 件名] [-c CCアドレス] [-b BCCアドレス] TOアドレス
- -s 件名
- メールの件名を指定します。
- -c CCアドレス
- CCで送るアドレスを指定します。複数指定する場合はカンマで区切って指定します。
- -b BCCアドレス
- BCCで送るアドレスを指定します。複数指定する場合はカンマで区切って指定します。
- TOアドレス
次に例を示します。
$ mail -s test taro@example.com
Hellow World! ←本文入力する
. ←終了は「.」を入力
EOT
また次にようにすると1行コマンドでメールを送信できます。
$ echo 'Hellow World!' | mail -s test taro@example.com
SMTPサーバーを指定してメールを送信する
SMTPサーバーを指定してメールを送信する場合は以下のような書式で送信できます。
mail -s 件名 -S smtp=smtp://SMTPサーバーIPアドレス:ポート番号 -r 送信元アドレス TOアドレス
今回の例では-rで送信アドレスも指定しています。
メールを返信する
メールを返信するには、mailコマンドを実行して&プロンプトが表示されている状態で次の手順を実行します。
- &プロンプトにつづけて「r メッセージ番号」を入力してEnterを押します。
- メッセージ本文を入力します。
- 本文の入力を終えるには単独行にピリオド(.)だけ入力してEnterを押します。するとメールが送信されます。
rの後のメッセージ番号を省略するとカレントメッセージに対する返信になります。
rはCCに指定されたアドレスにも返信します。送信者だけに返信したい場合は代わりにRを使います。
上述の「対話形式ででメールを送信する」も参考にしてください。
メールを転送する
メールを転送する方法を2つ紹介します。
新規メールに転送メールを埋め込む
これは新規にメールを作成して送付手順とほぼ同じです。上述の「対話形式ででメールを送信する」も参考にしてください。
- &プロンプトにつづけてmを入力してEnterを押します。
- 「To:」が表示されるので、続けて宛先メールアドレスを入力しEnterを押します。
- 「Subject:」が表示されるので、続けて件名を入力しEnterを押します。
- その後に必要であればメッセージ本文を入力します。
- 本文中に「~m メッセージ番号」を入力し、メッセージ番号のメールメッセージを読み込みます。
- その後に必要があればメッセージ本文を入力します。
- 本文の入力を終えるには単独行にピリオド(.)だけ入力してEnterを押します。するとメールが送信されます。
この返信方法の例を以下に示します。
& m
To: foo@example.com
Subject: 件名を入力
メッセージ本文を入力します。
~m 3
Interpolating: 3
(continue)
メッセージ本文を入力します。
.
EOT
&
この例では「~m」の後にメッセージ番号3を指定しています。入力後にEnterを押すと次のようなメッセージが表示されます。
Interpolating: 3
(continue)
「~m」の後のメッセージ番号を省略するとカレントメッセージが読み込まれます。
「~m」の代わりに「~f」を使うことができます。「~m」は読み込んだメッセージをインデントしますが、「~f」はインデントしません。
fwdでメールを転送する
fwdを使う手順は次の通りです。
- &プロンプトにつづけて「fwd メッセージ番号 転送先アドレス」を入力してEnterを押します。メッセージ番号を省略するとカレントメッセージを転送します。
- メッセージ本文を入力します。
- 本文の入力を終えるには単独行にピリオド(.)だけ入力してEnterを押します。するとメールが送信されます。
ヘルプの表示
ヘルプを表示するには?をタイプします。
& ?