我在我的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
现在缺less什么?
您可能在操作系统升级时获得了不同版本的“邮件”命令,并且没有相同的选项。
为什么不直接使用sendmail呢? 这是unix MTA总是模拟的标准化命令,并且适用于脚本使用:
( echo "Subject: ECS PostDate Processed" echo "To: [email protected], [email protected]" echo "Reply-To: [email protected]" echo "From: ServerCronJobs <[email protected]>" echo echo "Testing 123" ) | /usr/sbin/sendmail -oi -t
这可以做( echo ; echo ; echo ) | sendmail
( echo ; echo ; echo ) | sendmail
风格,而不是适合一个线路。
或者,如果它只是echo
而不是在该pipe道中的某个命令,请用“here document”replace:
/usr/sbin/sendmail -oi -t <<EOT Subject: ECS PostDate Processed To: [email protected], [email protected] Reply-To: [email protected] From: ServerCronJobs <[email protected]> Testing 123 EOT