我正在寻找一种方法来将各种 cronjob 的输出通过电子邮件发送到特定地址。cronjob MAILTO 命令太通用了。因此,我将作业的输出通过管道传输到 mail 命令中。
除了输出是 HTML 编码并且我需要向每条消息添加 Content-Type 标头之外,这可以正常工作。
我的邮件版本不支持 -a 标志,这本来是完美的。此外,由于 sendmail 在 chrooted jail 中运行,因此似乎不可用。
答案1
此解决方案可根据需要发挥作用。
回显HTML 消息在此处“| mail -s“$(echo -e“这是主题\nContent-Type:text / html”)”
从 :https://stackoverflow.com/questions/2591755/how-send-html-mail-using-linux-command-line
答案2
像这样将其通过管道传输到shell脚本
(echo "Content-type: text/html" ; cat ) | mail recipient
答案3
这在 Solaris 10 上运行!
1)确保您的系统在 /etc/hosts 上定义了 SMTP 服务器
##############################################
# SMTP SERVER #
##############################################
10.100.231.115 smtpserver.yourdomain.com
2)在拥有 cron 作业的用户的主目录中,创建文件:.forward
3) 在文件 .forward 中插入您想要向其发送 cron Job 输出的电子邮件地址。
请注意,我不认为此输出是 HTML 格式!试试看吧!