- Ubuntu Jaunty 服务器(9.04)
- pure-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
是脚本中使用的首选工具。