【Linux】シェルスクリプトからsendmailでメールを送信する方法


linux-sendmail

バックグラウンドで処理を実行している場合、正常に処理が終了したのか確認したい場合があります。
モニターに表示するのも1つの手ではありますが、活動時間外やその場にいない時は、メールで送信してくれるととても便利ですよね。
そこで今回は、Linuxメール送信をする簡単なシェルスクリプトをご紹介します。


sendmailでメール送信

まず前提としてメールが送信できるサーバであること。
ここではsendmailコマンドを利用します。

メール内容を作成

送信したいメールの内容をテキストファイルで作成します。
vi mail.txt
ファイル名は任意です。
内容は以下の形式に従って作成します。

From: <[送信元]>
To: <[宛先]>
Subject: [件名]

[本文]

From:To:の<>内にそれぞれ送信元と宛先のメールアドレスを。
それから、Subjectメールのタイトル、一行空白の改行を入れて本文を記載します。

メールを送信

あとは、sendmailコマンドを実行する際に、先程作成したテキストを指定してあげればOKです。

cat mail.txt | sendmail -i -t

itオプションが気になる方はググってください。

文字コードや日本語対応

今回はこちらの記事を参考にしました。

プログラムからメールを送信したいなーと思ったことありますよね。そんな時、どうやってますか?何らかのプログラミング言語でメール送信用のライブラリーの使い方調べて組む?いやいや、そんなことしなくてもシェルスクリプト(と基本的なコマン...
シェルスクリプトでメール送信、「さようならnkf」編 - Qiita - Qiita
文字コードを指定して日本語メールを送信しても文字化けしないように対策できるようなので、皆さんもぜひ試してみてください。


コメント

このブログの人気の投稿

Linuxでファイルの改行コードLF⇔CRLFを変換する方法

RHEL 7でスタティック(静的)ルートを追加する4つの方法

SQLPlusでのOracleリモート接続とSQLファイルを実行する方法