- Сервер Ubuntu Jaunty (9.04)
- чистый-ftpd 1.0.21-11.4ubuntu1
- мутт 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
Вероятно, Матт ищет команду sendmail не там, где нужно.
:set sendmail
изнутри mutt дает вам местоположение, где mutt его ищет. Его также можно использовать для установки правильного местоположения, например:set sendmail="/usr/sbin/sendmail"
Кстати, Mutt — отличная программа, но для использования в скриптах обычно используют инструменты mutt nail
или mutt.mailx