自定义消息的 Bash 脚本

自定义消息的 Bash 脚本

我正在尝试使用 bash 脚本发送电子邮件。

我尝试在 bash 脚本中使用以下内容,但没有成功,因为我执行的脚本要求 CC:

#!/bin/bash
recipient="[email protected]"
mail -s "This is a test mail" "$recipient"

但似乎没有什么起作用,因为我希望它能够自动化。

另外,我想用邮件发送一条消息,我浏览过不同的教程,但在每个教程中,消息都是写在文本文件中,然后发送该文件,但我不能用邮件命令本身写一条消息,而不是将其保存到任何文件中并发送它。请帮忙。

附言

我只希望脚本执行以下操作

如果某个特定操作完成,那么它会向收件人发送一封电子邮件,其中包含一个主题和一条表明操作已成功完成的消息。

答案1

mailstdin期望在命令运行之时或之后出现主体(在交互模式下)。解决这个问题的简单方法是直接回显到命令中,如下所示:

echo | mail -s "Test subject" "[email protected]"

请注意,这是mailheirloom-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

相关内容