- Ubuntu Jaunty Server (9.04)
- reines-ftpd 1.0.21-11.4ubuntu1
- mutt 1.5.18-6ubuntu1
Ich muss E-Mail-Benachrichtigungen erhalten, wenn meine FTP-Benutzer Dateien hochladen.
Ich verwende hierfür pure-uploadscript. Der folgende Code ist so eingestellt, dass er von meinem eigenen (nicht-Super-)Benutzer ausgeführt wird:
#! /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
Mein Skript wird aufgerufen, $(id) zeigt korrekte Daten an, aber Mutt sagt (wie ich aus dem Protokoll ersehen kann): „Die Nachricht konnte nicht gesendet werden.“.
Wenn ich denselben Befehl von der Befehlszeile meines eigenen Benutzers aus ausführe, wird eine Nachricht gesendet.
Was kann ich tun, um das Problem zu beheben?
Antwort1
Mutt sucht wahrscheinlich an der falschen Stelle nach dem Sendmail-Befehl.
:set sendmail
aus Mutt heraus gibt Ihnen den Ort an, an dem Mutt danach sucht. Es kann auch verwendet werden, um den richtigen Ort festzulegen, z. B.:set sendmail="/usr/sbin/sendmail"
Nebenbemerkung: Mutt ist ein großartiges Programm, aber nail
oder mailx
sind normalerweise die Tools der Wahl für die Verwendung in einem Skript.