mutt: pure-ftpd の pure-uploadscript から実行する場合の問題

mutt: pure-ftpd の pure-uploadscript から実行する場合の問題
  • Ubuntu Jaunty サーバー (9.04)
  • 純粋なftpd 1.0.21-11.4ubuntu1
  • mutt 1.5.18-6ubuntu1

FTP ユーザーがファイルをアップロードしたときに電子メール通知を受信する必要があります。

私はこれを実行するために pure-uploadscript を使用します。以下のコードは、自分の (スーパーではない) ユーザーから実行されるように設定されています。

#! /bin/bash
echo "File $1 (size $UPLOAD_SIZE) uploaded by $UPLOAD_VUSER \
on $(date)" \
| /usr/bin/mutt -s "[FTP] File uploaded: $1" \
  [email protected] 2>&1 >> path/logfile \
&& echo "OK $1 $(id)" >> path/logfile \
|| echo "ERR $1 $(id)" >> path/logfile

私のスクリプトが呼び出され、$(id) は正しいデータを表示しますが、Mutt は (ログからわかるように)「メッセージを送信できませんでした」と表示します。

自分のユーザーのコマンドラインから同じコマンドを実行すると、メッセージが送信されます。

これをデバッグするにはどうすればいいでしょうか?

答え1

Mutt はおそらく sendmail コマンドの間違った場所を参照している可能性があります。

:set sendmailmutt内から、muttが探している場所を教えてくれます。また、正しい場所を設定するためにも使用できます。例::set sendmail="/usr/sbin/sendmail"

ちなみに、mutt は優れたプログラムですが、スクリプトで使用するツールとしては通常nailまたは が選ばれます。mailx

関連情報