Ubuntu
sendmail
:我正尝试使用、mailx
或(任何可以正常工作的命令)发送电子邮件mail
。我正尝试将日志文件的内容作为消息发送。日志位于/var/log/nginx/error.log
。
我每小时运行一次 cron 来查看错误日志中是否有任何内容发生变化,如果发生变化,我会尝试通过电子邮件将错误日志发送给自己。使用 sendmail 和 mailx 以及 mail 进行定期测试对我来说效果很好。
这作品(但不是我想要的):
echo "My test email being sent from sendmail" | /usr/sbin/sendmail [email protected]
我尝试了以下方法(但对我都不起作用):,,,,,显然我是 新手。
sendmail [email protected] < /var/log/nginx/error.log
/var/log/nginx/error.log | /usr/sbin/sendmail [email protected]
cat /var/log/nginx/error.log | /usr/sbin/sendmail [email protected]
mailx [email protected] < /var/log/nginx/error.log
cat /var/log/nginx/error.log | mailx [email protected]
答案1
Sendmail 希望通过其标准输入获取电子邮件标头和正文。
[电子邮件标头 + 空行 + 电子邮件正文]
您尝试提供标头失败。
尝试下面的脚本:
#!/bin/sh
(
echo subject: /var/log/nginx/error.log
echo
cat /var/log/nginx/error.log
) | sendmail -i [email protected]