====== 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: | mail-ip.py #!/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:raspi:start|zurück]]