s-nail(mailx 後継) でメール送信設定

s-nail

Icinga2 が mailx を利用しているようなので使い方をメモしておく

インストール

Icinga2 の説明では mailx を利用しているとのことだったので、以下のコマンドを実行した。

# dnf install -y mailx

実態は、s-nail がインストールされているようだ。

mailx コマンドは s-nail コマンドにシンボリックリンクされていた。

# which mailx
/usr/bin/mailx
# ls -al /usr/bin/mailx
lrwxrwxrwx. 1 root root 15 Aug  1  2024 /usr/bin/mailx -> /usr/bin/s-nail
#

利用方法

url エンコード

.mailrc にせよ /etc/s-nail.rc にせよ、コマンドラインにせよ、mta=smtp オプションで指定する「ユーザ名」および「パスワード」は、あらかじめ url エンコードしておく必要がある。

このエンコードは s-nail コマンド自身で実行できる。

エンコード例

ユーザ名 foo@example.com をエンコード
# echo 'urlcodec enc foo@example.com' | s-nail -#
foo%40example.com
#

「foo%40example.com」と変換された。

パスワード foo.bar をエンコード
# echo 'urlcodec enc foo.bar' | s-nail -#
foo.bar
#

変換前とかわらず。

メール送信例

コマンドラインで送る例のみ説明する。

条件は以下の通り

  • smtp サーバ名 mail.example.com
  • smtp サーバで必要な「ユーザ名」および「パスワード」は上記の「エンコードの例」と同じものとする。
  • 送信元アドレス bar@example.com
  • 送信先アドレス hoge@example.com
echo "mail_body" | s-nail -:/ -S smtp-use-starttls -S v15-compat -S mta=smtp://foo%40example.com:foo.bar@mail.example.com:587 -s "subject nanodesu" -r bar@example.com hoge@example.com

これで、サブジェクトが “subject nanodesu” で、メール本文が “mail_body” のメールが smtp サーバに向けて送信される。

コメント

タイトルとURLをコピーしました