在安装ssmtp和mailutils之后,写到带有“echo”的文件试图向我发送一封电子邮件到username@hostname。例如:
用mailutils发送邮件:
echo "Body text here." | mail -s "Subject text here." sendto@email.com
我使用:echo "log content" > logfile.txt将内容写入日志文件。
问题是,当我想使用日志文件时,我从Gmail收到一封可交付的电子邮件,其中说用户名@hostname是不可访问的,这意味着它会干扰mailutils。
这是一个关于mailutils的已知问题,它需要一个解决方法或修复,我如何处理它?
发布于 2016-03-17 00:54:03
你在做这样的事吗?
echo "log content" > logfile.txt | mail -s "Subject text" sendto@email.com如果是这样的话,难怪它不能工作-您已经将echo的S输出重定向到一个文件,如果不使用像tee这样的程序,您也不能将它输送到mail。
tee's的全部目的是(从手册页面):
从标准输入读取并写入标准输出和文件。
注意:如果您想要附加到logfile.txt而不是完全覆盖它,请使用tee -a logfile.txt。见man tee。
因此,要保存到日志文件并将其输送到邮件中,请尝试如下:
echo "log content" | tee logfile.txt | mail -s "Subject text" sendto@email.com或者,您可以重定向到日志文件,然后使用<将mail的S stdin重定向为日志文件,如下所示:
echo "log content" > logfile.txt
mail -s "Subject text" sendto@email.com < logfile.txthttps://unix.stackexchange.com/questions/270204
复制相似问题