为什么我无法使用sendmail在我的shell脚本中发送电子邮件?

时间:2017-05-01 15:00:35

标签: bash shell sendmail amazon-linux

我在亚马逊Linux上使用bash和sendmail发送电子邮件时遇到问题。在我的bash脚本中我有

    echo "Subject: My subject" >> /tmp/email.txt
    echo "" >> /tmp/email.txt
    cat /tmp/out.txt >> /tmp/email.txt
    sendmail $EMAIL_ON_FAILURE < /tmp/email.txt

请注意,我的电子邮件正文应该是/tmp/out.txt的内容。尽管事实上我已通过echo验证“$ EMAIL_ON_FAILURE”并非空,但我在收件箱(或垃圾邮件文件夹)中找不到任何电子邮件。上面是否存在某些错误,或者我可以通过另一种方式检查我的系统是否实际发送了电子邮件?

1 个答案:

答案 0 :(得分:0)

Sendmail是一个邮件传输代理;你需要一个mail-user-agent;尝试使用&#39; mail&#39;命令,即

mail -s "${SUBJECT}" ${EMAIL_Address} < ${FILE}

从手册页:

  

Sendmail不是用户界面例程;其他节目   提供用户友好的前端; sendmail仅用于传递   预先格式化的消息。

:)
戴尔