
-------Original Message------- From: python-de@python.net Date: Freitag, 20. Juni 2003 12:29:23 To: python-de@python.net Subject: Re: [Python-de] Hilfe Jens Mintel wrote:
Hallo,
erstmal vielen Dank für die vielen Antworten.
Ich suche nach einer Lösung mir die IP-Adresse des ppp interfaces per E-Mail zu übersenden.
So was sollte gehen: #v+ import commands print commands.getoutput("/sbin/ifconfig ppp0|grep addr") #v-
Hier das nachfolgende script, was leider ned richtig möchte.
import smtplib import socket fromaddr = "e-mailadresse" password = "passwort" toaddrs = "e-mailadresse" ip = socket.gethostbyaddr(socket.gethostname()) msg = ip server = smtplib.SMTP('mail.gmx.net') #server.set_debuglevel(1) server.login(fromaddr, password) server.sendmail(fromaddr, toaddrs, msg) server.quit()
Wenn ich die msg durch einen normalen Text ersetze klappt es wunderbar. Nur wenn ich mir die ip übersenden will bricht das script ab.
Woran liegt das? [...]
socket.gethostbyname_ex(gethostname())[2][-1]
Daran, dass 'ip' kein String ist und .sendmail() and dieser Stelle einen String erwartet. Entweder du wandelst es mittels str() in einen String um, oder du ziehst aus der Datenstruktur genau den String raus, den du willst: ip[2][0]. Das wird aber wahrscheinlich nicht das gewünschte (die öffentliche IP-Adresse) liefern, also wird vielleicht doch mein obiger Vorschlag mit ifconfig eher zum Ziel führen. -- Gerhard _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de --------------------------------- Wenns auch noch auf Windows laufen soll kannst du auch mal probieren. gethostbyname_ex() liefert dir eine Liste aller eth und ppp device Adressen. Bei mehr als einer ppp Verbindung muesstest du natuerlich entsprechend den lezten Index ändern. Gruss, Jochen _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de