Linuxコマンド辞典 mailコマンド(ネットワーク)

この記事は約3分で読めます。

コマンドラインでメールを送受信する「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 ファイル名読み込むメールスプールファイルを指定する
-nmail起動時に/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)
タイトルとURLをコピーしました