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

Bash 为什么我无法使用sendmail在shell脚本中发送电子邮件?,bash,shell,sendmail,amazon-linux,Bash,Shell,Sendmail,Amazon Linux,我在Amazon 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 请注意,我的电子邮

我在Amazon 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不是空的,但我在收件箱或垃圾邮件文件夹中没有找到任何电子邮件。上述内容是否有问题,或者是否有其他方法可以检查我的系统是否确实发送了电子邮件?

Sendmail是邮件传输代理;你需要一个邮件用户代理;尝试使用“mail”命令,即

mail -s "${SUBJECT}" ${EMAIL_Address} < ${FILE}
从手册页:

Sendmail不打算用作用户界面例程;其他计划 提供用户友好的前端;sendmail仅用于传递 预先格式化的消息

:
Dale

以详细模式向您发送邮件:sendmail-i-v$EMAIL_ON_FAILURE