验证邮件状态Bash脚本

Fxc*_*ead 0 linux email bash sendmail

我做的是这样的:

echo "TEST MAIL" | mail -s "subject" "SOME@MAIL.COM"
Run Code Online (Sandbox Code Playgroud)

它送好了!但我必须在shell脚本中验证邮件是否已发送.

我找不到某种方法来验证邮件是否已发送.

编辑:

我唯一的验证是邮件应用程序中的返回值是否为0

if [ "$?" = "0" ]; then
    echo "Mail enviado a: $destinatarios"

else
    echo "Mail NO enviado a: $destinatarios"
fi
Run Code Online (Sandbox Code Playgroud)

spb*_*ick 5

您应该定义"发送"对您来说意味着什么."mail"的返回状态仅在本地MTA接受消息时指定.

仍然有许多事情可能会阻止交付给最终收件人.从本地计算机上没有网络连接开始,最后收件人在他/她的收件箱中忽略您的邮件.

邮件传递是异步的.有一些请求交付和阅读收据的机制很少有效.处理未送达报告可能会更好.但是,所有这些都可能需要任意时间才能到达.

就此而言,我会说"邮件"的零退出状态是成功发送消息的良好指示,因为您可以通过合理的努力获得.