eMail Absender herausfinden

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
_D4rk_
User
Beiträge: 4
Registriert: Sonntag 28. Oktober 2007, 19:28

Hi zu allen,
gibt es eine Funktion/Klasse um den Absender einer eMail heraus zu finden?
Um genau zu sein fuer ein eMail die mit poplib ausgelesen wurde.

Beispiel:

Code: Alles auswählen

import poplib

popserver = 'xxx'
popuser  = 'xxx'
poppasswd = 'xxx'

def mail_hollen(popserver, popuser, poppasswd):

	connect = poplib.POP3(popserver)
	print connect.getwelcome()
	print connect.user(popuser)
	print connect.pass_(poppasswd)	
	
	print connect.list()	
	header, message, octets = connect.retr(1)
	print connect.quit()
	
	return message

	
def auswerten(message):
	print 'Die Mail wird ausgewertet!'
	
def main():
	message = mail_hollen(popserver, popuser, poppasswd)
	auswerten(message)
	
	
main()
danke im voraus

//EDIT: Wenn ihr etwas an meinem Style zu kritisieren habt immer raus damit.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

_D4rk_ hat geschrieben:gibt es eine Funktion/Klasse um den Absender einer eMail heraus zu finden?
Hallo D4rk!

Willkommen im Python-Forum!

Das dürfte selbsterklärend sein: ;-)

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-

import email


mailstring = \
"""From: "Absender" <absender@bcom.at>
To: "Empfaenger" <empfaenger@bcom.at>


BlaBlaBla"""

mail = email.message_from_string(mailstring)

print dir(mail)
print mail.get("from")
print mail.items()
mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
_D4rk_
User
Beiträge: 4
Registriert: Sonntag 28. Oktober 2007, 19:28

Hallo gerold!
jop ist selbsterklärend, dank dir :-)

[hidden=100%]
@Offtopic Ein schönes Forum habt ihr hier.
[/hidden]
_D4rk_
User
Beiträge: 4
Registriert: Sonntag 28. Oktober 2007, 19:28

Hi,
noch eine kleine frage:
Wenn ich das mit der aktiven Konsole mache funktioniert das ohne Probleme. Wenn ich das aber in einer Datei mache (.py) dann mekert er...
Warum? (und was ist "das"?)

Ist Zustand:
Der compieler gibt ein Fehler aus.
Fehlercode:

Code: Alles auswählen

Traceback (most recent call last):
  File "PFAD_ZUR_DATEI\DATEI.py", line 2, in <module>
    import email
  File "PFAD_ZUR_DATEI\DATEI.py", line 18, in <module>
    mail = email.message_from_string(str(msg))
AttributeError: 'module' object has no attribute 'message_from_string'
 
Soll Zustand:
Der Fehler soll nicht mehr auftreten und das Programm ordentlich ausgeführt sowie beendet werden.

Auf den Fehler reduzierte Variante des Source:

Code: Alles auswählen

"""
Dies ist eine reduzierte Version meines Programms also nicht über den stiel mekern
"""
import poplib
import email #<- Zeile 2

popserver = 'xxx'
popuser  = 'xxxx'
poppasswd = 'xxx'
	
connect = poplib.POP3(popserver)
print connect.getwelcome()
print connect.user(popuser)
print connect.pass_(poppasswd)	

print connect.list()
header, msg, octets = connect.retr(1)

mail = email.message_from_string(str(msg)) #<- Zeile 18
print dir(msg)
print mail.get("from")
print mail.items()

connect.quit()
Zuletzt geändert von _D4rk_ am Freitag 9. November 2007, 16:06, insgesamt 2-mal geändert.
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Hast du zufaellig eine Datei namens email.py (email.pyc) in dem Verzeichnis liegen bzw. hast du dein Programm so genannt?
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

_D4rk_ hat geschrieben:

Code: Alles auswählen

Traceback (most recent call last):
  File "PFAD_ZUR_DATEI\DATEI.py", line 2, in <module>
    import email
  File "PFAD_ZUR_DATEI\DATEI.py", line 18, in <module>
    mail = email.message_from_string(str(msg))
AttributeError: 'module' object has no attribute 'message_from_string'
Hallo D4rk!

Genau das, was du mit "PFAD_ZUR_DATEI\DATEI.py" maskierst, könnte dein Problem sein. Ein Modul darf nie so heißen, wie ein eingebautes Python-Modul.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
_D4rk_
User
Beiträge: 4
Registriert: Sonntag 28. Oktober 2007, 19:28

die Datei heißt email.py, darauf muss man erst einmal kommen.
dank euch nochmals.
Antworten