2016-09-22 67 views
0

我有这个bash脚本,它向我的电子邮件发送新的IP地址,如果它已更改在crontab上运行。检查邮件是否在bash中成功发送

SUBJ="My new IP is " 
EMAIL="[email protected]" 

ip1="" 
ip2="" 

read ip1 < ip.txt 
ip2=$(wget -qO- ifconfig.me/ip) 

if [ "$ip1" = "$ip2" ] 
then 
    exit 
else 
    echo "$ip2" > ip.txt 
    echo "$ip2" | mail -s "$SUBJ""$ip2" $EMAIL 
    exit 
fi 

的问题是,如果出于任何原因,电子邮件不能被发送,ip.text文件仍然会有所改变,而且下一次运行该脚本"$ip1" = "$ip2"将是真实的,从来没有发送电子邮件。

如何检查邮件是否成功发送?

我也跟着this tutorial

回答

0

如果你只是想确保mail程序成功运行,使用

echo "$ip2" | mail -s "$SUBJ $ip2" && echo "$ip2" > ip.txt 

如果你真正关心的邮件被成功交付mail后,将其发送到你的本地邮件传输代理,你可以做的事情不多。

相关问题