コマンドラインでメールを送受信する「mail」コマンドの概要と使い方を記載しています。
RHEL Fedora CentOS Vine Deblan Ubuntu Plamo
概要・使用方法
書式
$ mail [オプション] 宛先メールアドレス
メールを書いて送信、ローカルい届いたメールを読むことができます。現在ではGUIでのMUA(Mail User Agent)が数多くあるため、本格的な利用は減りましたが、MTAサーバのデバッグやコマンド経由、cronなどでメール送信するのに便利なコマンドです。メールの送信はローカルホストのMTAを経由して発送されます。メールの読み出しは対話的に行うことができます。mailでは/var/spool/mailにあるメールスプールを読み込みます。既読メールは~/mboxに保存されます。
オプション
| -a ファイル名 | 指定したファイルを添付する |
| -b アドレス | bccとして送信するアドレスを指定する |
| -c アドレス | ccとして送信するアドレスを指定する |
| -f ファイル名 | 読み込むメールスプールファイルを指定する |
| -n | mail起動時に/etc/mail.rcは読み込まない |
| -s サブジェクト | 送信するメールのサブジェクトを指定する |
| -v | 冗長モードで実行する。送信時の動作を標準出力に詳細を表示する |
| -u ユーザ名 | -fオプションと同様の動作をする。メールスプールファイルではなくユーザ名を指定する |
メールを送信する
$ mail メールアドレス
実行結果
[roi@centos ~]# mail roi@example.com #<コマンドの引数に宛先(to)をセットする
Subject: test mail #<件名(Subject)を入力する
this is test mail #<本文(Body)を入力する
. #本文の終わりは「.」を入力する
Cc: #<カーボンコピー(Cc)を送るアドレスを指定する。指定しない場合はEnterキーを押下
EOTCode language: PHP (php)
メールを読む
$ mail
実行結果
[rin@centos ~]$ mail
Mail version 8.1.2 01/15/2001. Type ? for help
"/var/mail/rin": 3 messages 3 new
>N 1 rin@example.com Thu Dec 19 00:00 20/500 Hello
N 2 rin@example.com Thu Dec 19 00:00 20/500 Hello 2
& #Code language: PHP (php)
非対話的にメールを送信する
$ nkf -j メッセージファイル | mail -s "サブジェクト" 宛先メールアドレスCode language: JavaScript (javascript)
実行結果
[rin@centos ~]$ cat mesg.txt
はじめまして、こんにちわ
[rin@centos ~]$ nkf -f mesg.txt | mail -s "send my message." rin@example.com
#日本語メッセージをISO-2022-JPにnkfで変換して送信するCode language: PHP (php)
