【mailコマンド】Postfixなどメール配信用ソフトを利用せずにメール送信する

 
この記事を書いている人 - WRITER -
ブログ運営者のtkjzblogです。 仕事柄新しいシステムに触れることが多いです。 Windows、Linux(RHEL)がメインです。その他、VMwareやOffice365など仮想環境やクラウド環境も少しですが触れることがあります。 いろいろ忘れがちのため、このサイトへ情報を書き溜めていきたいと思います。 どうぞ、よろしくお願い致します。

Linuxサーバーにおいてスクリプトの実行結果などをメール送信したい場合があります。

今まで mail コマンドを利用して送信していたのですが幸いPostfixなどのメール配信用ソフトが起動していたため、中継先のSMTPサーバーを特に指定せずに送信できていました。

今回、Postfixなどのメール配信用ソフトが起動していないサーバーでメール送信したい時に少し躓き時間をとられましたので自身の備忘として記事を残しておきたいと思います。
結論だけを先に記載すると「中継先のSMTPサーバーを指定する」ことでメール送信することができました。

mail コマンドのインストール

インストールされてない場合は、インストールします。

  yum -y install mailx

※ググってみると mailコマンド、mailxコマンド と同じような使い方をしている記事が多くあります。
それは、mailコマンドが mailxコマンドへのシンボリックリンクであるためです。
そのためmailコマンドが mailxコマンドのどちらを利用しても同じ結果となります。

SMTPサーバを指定してメール送信

mailコマンドのオプションは、以下を指定します。

 -s メール件名

 -S SMTPサーバを指定(smtp=smtp://SMTPサーバー:25)

 -r 送信元メールアドレス

 ※宛先メールアドレスはスペースで複数指定可能

 -c CCを指定

 -b BCCを指定

・構文(参考)
echo “メール本文” | mail -s “メール件名” -S smtp=smtp://SMTPサーバー:25 -r 送信元メールアドレス 宛先メールアドレス1 宛先メールアドレス2

※echo “メール本文”は、メール本文となる部分です

・実行例
echo “今日は晴れです” | mail -s “テストメールです” -S smtp=smtp://SMTPサーバー:25 -r from@local.com to1@local.com to2@local.com

まとめ

これでPostfixなどのメール配信用ソフトが起動していないサーバーでもメールを送信することができます。ご参考まで。

この記事を書いている人 - WRITER -
ブログ運営者のtkjzblogです。 仕事柄新しいシステムに触れることが多いです。 Windows、Linux(RHEL)がメインです。その他、VMwareやOffice365など仮想環境やクラウド環境も少しですが触れることがあります。 いろいろ忘れがちのため、このサイトへ情報を書き溜めていきたいと思います。 どうぞ、よろしくお願い致します。

Copyright© しっぱいはせいこうのもと , 2023 All Rights Reserved.