2016-09-22 37 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後,將其發送到你的本地郵件傳輸代理,你可以做的事情不多。

相關問題