附上开机sh(zqd.sh)
#!/bin/bash
time=$(date "+%Y-%m-%d %H:%M:%S")
echo "${time}">> /home/pi/Desktop/rz.txt
sleep 18s #目的是为了防止一开始未连接上无线网络导致的python错误
python3 /home/pi/Desktop/ip.py >> /home/pi/Desktop/rz.txt
echo "--------------------" >> /home/pi/Desktop/rz.txt
python实现的qq smtp(ip.py)
import smtplib
from email.header import Header
from email.mime.text import MIMEText
import os,re
mail_host="smtp.qq.com"
mail_user=""#邮箱
mail_pass=""#激活码
sender=''#发送人
receivers=['']#接收者
num=0
def mail(mail_host,mail_user,mail_pass,sender,receivers):
global num
a=os.popen("curl -L tool.lu/ip").read()
mail_msg=re.findall("inet(.*?)\\n",os.popen("ifconfig").read())[2]
mse=MIMEText(mail_msg+"\\n"+a,'plain','utf-8')
mse['From']=Header('raspi 4','utf-8')
mse['To']=Header('user','utf-8')
mse['Subject']=Header('raspi ip4','utf-8')
try:
ss=smtplib.SMTP_SSL(mail_host,465)
ss.login(mail_user,mail_pass)
ss.sendmail(sender,receivers,mse.as_string())
print("%d is ok!!"%(num+1))
print(a)
except smtplib.SMTPException:
num+=1
if(num<5):
print("%d is failed"%(num))
mail(mail_host,mail_user,mail_pass,sender,receivers)
if __name__=="__main__":
mail(mail_host,mail_user,mail_pass,sender,receivers)
开机程序设置
sudo vim /etc/rc.local
进入后在exit 0和fi中间行插入:
sudo /home/pi/Desktop/zqd.sh
测试
sudo reboot
即可收到邮件提醒