我一直在 crontab 中使用以下邮件命令,该命令运行正常,直到上周五我们重新安装了邮件服务器:
echo "Testing 123" | mail -s "ECS PostDate Processed" "[email protected] [email protected]" -- -r "[email protected]" -F "ServerCronJobs"
以前,“--”会将命令行参数路由到 sendmail,以便从名称发送并添加回复地址。现在似乎 -- 被忽略了,所有额外的参数都被视为电子邮件地址。因此电子邮件将:
from root <[email protected]>
to me, chrish, -r, noreply, -F, ServerCronJobs
现在缺少什么?
答案1
mail
指向其中一种替代方案。
ls -l /usr/bin/mail
lrwxrwxrwx 1 root root 22 Jan 5 2011 /usr/bin/mail -> /etc/alternatives/mail
ls -l /etc/alternatives/mail
lrwxrwxrwx 1 root root 18 Jan 5 2011 /etc/alternatives/mail -> /usr/bin/bsd-mailx
您以前可能使用过其他邮件程序。尝试找出是哪个。
安装正确的软件包后,请像这样更改替代方案:
sudo update-alternatives --config mail
答案2
正如其他人所指出的,它是一个链接/etc/alternatives/mail
。
你可以看到(如果你已经安装了提供它的包),readlink /usr/bin/mail
并通过找到现有的包readlink -f /usr/bin/mail
任何提供 的包都可以提供它,mail-reader
您可以搜索一个apt-cache search mail-reader
我个人使用的bsd-mailx
。