Linuxコマンド辞典 mailコマンド(ネットワーク)
コマンドラインでメールを送受信する「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キーを押下
EOT
メールを読む
$ 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
& #<Enterを押すとメッセージ表示に移動
Message 1:
From rin@example.com Thu May 19 00:00:00 2020
X-Original-To: rin
To: rin@example.com
Subject : Hello
Date: Thu, 19 May 2020 00:00:00 +0900(JST)
From: rin@example.com ( rin )
hello.
& q #<本文が読み終わったら「q」で抜ける
Saved 1 message in /home/rin/mbox #<読んだメールが~/mboxに保存される
Held 1 message in /var/mail/rin #</var/mail/rinに未読メールが1通ある
非対話的にメールを送信する
$ nkf -j メッセージファイル | mail -s "サブジェクト" 宛先メールアドレス
実行結果
[rin@centos ~]$ cat mesg.txt
はじめまして、こんにちわ
[rin@centos ~]$ nkf -f mesg.txt | mail -s "send my message." rin@example.com
#日本語メッセージをISO-2022-JPにnkfで変換して送信する