faq_1:raspi:ip_per_mail
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
- make it automatically run whenever the RPi is booting:
sudo nano /etc/rc.local - add a new line:
if [ “$_IP” ]; then
printf “My IP address is %s\n” “$_IP”
python /home/pi/Code/startup_mailer.py
fi
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.
faq_1/raspi/ip_per_mail.txt · Zuletzt geändert: von admin
