- 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 sendmail
mutt内から、muttが探している場所を教えてくれます。また、正しい場所を設定するためにも使用できます。例::set sendmail="/usr/sbin/sendmail"
ちなみに、mutt は優れたプログラムですが、スクリプトで使用するツールとしては通常nail
または が選ばれます。mailx