我已创建了一个脚本,以便接收包含我的macbookpro的万亿信息和GPS位置的邮件。脚本的内容是:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
if [ ! -e /tmp/ip ]; then
curl -s icanhazip.com > /tmp/ip
fi
curl -s icanhazip.com > /tmp/ip2
newip=$(diff /tmp/ip /tmp/ip2 | wc -l)
if [ $newip -ne 0 ]; then
mv -f /tmp/ip2 /tmp/ip
date > IPlog.txt
curl -s icanhazip.com >> IPlog.txt
sudo ./Downloads/whereami >> IPlog.txt
mailx mymailadress@mail.com < IPlog.txt
rm IPlog.txt
else
rm /tmp/ip2
fi
每一分钟,系统都会执行此脚本来验证wan ip是否已更改。如果它已更改,脚本会向我发送包含新信息的邮件。问题是:
1.-邮件并不总是正确发送。有时我不会接受它。
2.-邮件不包含所有信息。有时它只包括新的广告地址。
3.-有时邮件被认定为垃圾邮件,我不知道为什么,因为发件人始终是相同的地址。
答案 0 :(得分:0)
我有一些调试问题的建议。
首先,您应该使用不同的位置来存储ip而不是tmp。如果您的系统在启动时擦除了您的tmp文件夹,并且您的系统在启动后获得新的WAN IP,则会丢失之前记录的IP。
使用$?
发送邮件时检查mailx的退出代码。 0没关系。你可以做一个while循环并继续尝试发送它,直到你得到退出代码0。
您可以将邮件的信息添加到本地变量而不是文件。
IPLog=`date`
IPLog+=`curl -s icanhazip.com`
垃圾邮件问题可能是由邮件中的IP地址引起的。或者./Downloads/whereami
添加到文件中的任何内容。将发送电子邮件地址添加为可信发件人可能会这样做。
查看电子邮件标题,了解有关垃圾邮件分数的信息。