我正在尝试使用 bash 脚本发送电子邮件。
我尝试在 bash 脚本中使用以下内容,但没有成功,因为我执行的脚本要求 CC:
#!/bin/bash
recipient="[email protected]"
mail -s "This is a test mail" "$recipient"
但似乎没有什么起作用,因为我希望它能够自动化。
另外,我想用邮件发送一条消息,我浏览过不同的教程,但在每个教程中,消息都是写在文本文件中,然后发送该文件,但我不能用邮件命令本身写一条消息,而不是将其保存到任何文件中并发送它。请帮忙。
附言
我只希望脚本执行以下操作
如果某个特定操作完成,那么它会向收件人发送一封电子邮件,其中包含一个主题和一条表明操作已成功完成的消息。
答案1
mail
stdin
期望在命令运行之时或之后出现主体(在交互模式下)。解决这个问题的简单方法是直接回显到命令中,如下所示:
echo | mail -s "Test subject" "[email protected]"
请注意,这是mail
从heirloom-mailx
包中使用的。
答案2
使用 GNU mailutils 脚本发送正文应该像这样:
echo -e "body of message \nAnd use newlines for new lines." | mail -s "the subject" [email protected]
stdin
在这种模式下(使用管道读取),它不应该以交互方式请求 CC 地址|
。
答案3
(
echo "To:
[email protected]"
echo "From: system <root>"
echo "Subject: Rails Energy Valut Failure on `hostname` (`hostname --ip-address`) - `date` server restart"
) 2>&1 | /usr/lib/sendmail -t