IP-Adresse per Mail

Wenn der Raspberry Pi per DHCP in einem Netzwerk eingebunden ist, dann benötigt man für Remote-Verbindungen die IP-Adresse.

Mit folgendem kleinen Script, und der passenden Systemkonfiguration kann man das leicht machen:

#!/usr/bin/python
# -*- coding: iso-8859-15 -*-
import subprocess
import smtplib
import socket
from email.mime.text import MIMEText
import datetime
import time
# Diese Werte müssen noch angepasst werden. Zeitverzögerung für WLAN Login
time.sleep(15)
to = 'empfaenger@email-adresse.de'
gmail_user = 'konto-adresse@gmail.com'
gmail_password = 'mein-passwort'
smtpserver = smtplib.SMTP('smtp.gmail.com', 587)
#
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.ehlo
smtpserver.login(gmail_user, gmail_password)
today = datetime.date.today()
# Linux spezifisch
arg='ip route list'
p=subprocess.Popen(arg,shell=True,stdout=subprocess.PIPE)
data = p.communicate()
split_data = data[0].split()
ipaddr = split_data[split_data.index('src')+1]
my_ip = 'Die aktuelle IP ist %s' %  ipaddr
msg = MIMEText(my_ip)
msg['Subject'] = 'IP des RaspberryPi am %s' % today.strftime('%b %d %Y')
msg['From'] = gmail_user
msg['To'] = to
smtpserver.sendmail(gmail_user, [to], msg.as_string())
smtpserver.quit()

Das Script muss dann noch ausführbar gemacht werden

sudo chmod +x mail-ip.py

und am besten dann in die Crontab beim Neustart eintragen:

sudo crontab -e

und dann folgende Zeile einfügen:

@reboot python /home/pi/mail-ip.py

Jetzt wäre noch eine gute Gelegenheit die E-Mail Zugangsdaten anzupassen und Texte zu ändern. ;-)


zurück

DokuWiki Appliance - Powered by TurnKey Linux