背景
十数年前のシステムを新サーバーに移行する中で、
logwatch で mailx を使いたかったが、
なかったのでs-nail を使うことにした。
原因
mta 変数に渡すコマンドとして /usr/sbin/sendmail -oi -t を指定すると、s-nail がこれを単一の実行可能ファイルとして解釈しようとするためエラーが発生する
ポート開放
さくらのVPSでパケットフィルターを使用している場合、 25番ポートを開ける必要がある。
解決策
sendmail コマンドに必要なオプションを含めたラッパースクリプトを作成し、mta 変数をそのスクリプトに指すように設定
ラッパースクリプトの作成
Bash
sudo vim /usr/local/bin/sendmail-wrapper.sh
sendmail-wrapper.sh
#!/bin/bash
/usr/sbin/sendmail -oi -t "$@"
Bash
sudo chmod +x /usr/local/bin/sendmail-wrapper.sh
~/.mailrc の設定変更
Bash
set mta="/usr/local/bin/sendmail-wrapper.sh"
set from="root@hogehoge.jp"
テストメールの送信
Bash
s-nail -s "テストメール" hoge@gmai.com
Postfix のログ
Bash
sudo tail -f /var/log/maillog