mailコマンド


図解60p「Linuxサーバー構築入門マニュアル」無料
登録10秒/自動返信でDL/合わなければ解除3秒

メールを送受信する

■-- 文法 --■

mail (オプション) 送信先アドレス

     例)
      mail▲pakira
      ユーザpakiraへメールを送信する
       ※▲はスペースを表してます。

■ 説明
mailコマンドは、メーラーを使用しないで指定したメールアドレスへメールを送信します。通常のメーラーから比べれば、機能は劣りますがコマンドラインからメールを送信するすることが可能なので、メールの配信テストや、シェルスクリプトなどに組み込むことで利用されることが多いです。このコマンドを使用するには、Linuxのサービス設定で「SMTP」を有効する必要があります。


■ オプション

-v 詳細情報を表示する
-b 指定したアドレスをBCC宛てにする
-c 指定したアドレスをCC宛てにする
-s タイトル名 タイトル名がメールの表題になる


■ 実行例

-----------------------------------------------------------------
「mail -s Title webmaster@linuxmaster.jp」

$ mail -s This is TEST webmaster@linuxmaster.jp ←「mailコマンド」を実行します
これはテストです。メールコマンドはいろいろな使い方がありますよ。

       ↑メールの本文を書きます。
        書き終えたら「Ctrl」+「D」を押します。

Cc:  ←「Cc:」が表示されるので、もう一度「Ctrl」+「D」を押します。

$   ←プロンプトが表示されたらメールが送信されます。

送った先のメールを確認してみてください。
あなたがテストで送ったメールが届いていると思いますよ。

「-s This」はタイトルを設定しています。
この例だと、メールのタイトルは「TEST」で届きます。


■他のオプション
------------------------------------
-b 指定したアドレスをBCC宛てにする
-c 指定したアドレスをCC宛てにする
------------------------------------

■覚えておくと便利なテクニック
-----------------------------------------------------------------

$vi message ←「vi」エディッタで「message」ファイルを作ります。

ファイルに定型メッセージ書くとこんなことができます。

 ↑メッセージはなんでもいいんですが、今回は

  「ファイルに定型メッセージ書くとこんなことができます。」

  と入力しました。

$ cat message | mail -s testmail webmaster@linuxmaster.jp

 ↑のコマンドは「cat message」の結果をメールの本文にして、「mail」コマンドで送信する方法です。
 こうすることで、定型のメッセージを送れるようになります。

-----------------------------------------------------------------

 これを応用すると、いくつか定型文を書いたファイルを用意しておいて、シェルスクリプトの処理結果によって、送信するメッセージを変えるということもできます。
 
 ※「|」はパイプといって、コマンドの結果を次のコマンドへ渡す役割をしています。

 他にメッセージだけじゃなく、システムログやファイルの内容をメールで送るなんてこともできます。

 cat /var/log/messages | mail -s log webmaster@linuxmaster.jp
 ↑Linuxサーバーのメッセージログを、メールで送信しています。
  
 ※注意
  ・送る内容はセキュリティーの面から気をつける必要があります。
  ・サイズがあまり大きいものを送るのは止めましょう!

■catコマンド
http://linux-topics.com/01top/archives/2005/09/015cat.html



無料プレゼント
図解60p「Linuxサーバー構築入門マニュアル」
独学で詰まる前に、“型(手順書)”で最初の環境構築をサクッと終わらせましょう。
登録10秒/自動返信でDL/合わなければ解除3秒
無料で受け取る ※メールアドレスだけでもOK(必須項目は最小限)

宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

<<関連記事>>
・pstree
・chsh
・finger
・duコマンドでディスク使用量を確認する方法|ディレクトリごとの容量や容量順ソートも
・LinuxのOSバージョンを確認するコマンド|uname・os-release・hostnamectlの使い方

図解60pのLinux無料マニュアル
登録10秒/自動返信でDL
無料で受け取る