- Ubuntu Jaunty 服务器 (9.04)
- 纯 ftpd 1.0.21-11.4ubuntu1
- 杂种狗 1.5.18-6ubuntu1
当我的 FTP 用户上传文件时,我需要接收电子邮件通知。
我使用纯上传脚本来做到这一点。下面的代码设置为从我自己的(非超级)用户运行:
#! /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 说(正如我从日志中看到的)“无法发送消息。”。
当我从自己用户的命令行运行相同的命令时,会发送消息。
我能做些什么来调试这个?
Mutt 可能正在寻找 sendmail 命令的错误位置。
:set sendmail
from inside mutt 为您提供 mutt 正在寻找的位置。它也可以用于设置正确的位置,例如:set sendmail="/usr/sbin/sendmail"
附带说明一下,mutt 是一个很棒的程序,但
nail
通常mailx
是在脚本中使用的首选工具。