email modul

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
rogen
User
Beiträge: 85
Registriert: Dienstag 29. März 2005, 17:45
Wohnort: neustift
Kontaktdaten:

Donnerstag 25. August 2005, 12:05

ich möchte mir email mit python anschauen .

Mit
mail = email.message_from_string(str(message))
print mail

sehe ich den ganzen code

laut print help(email)
gäbe es möglichkeiten nur den text, .... anzuschauen .

das funktioniert bei mir nicht.
mail.Message()

wie kann ich das mail parsen damit ich einzelne teile davon haben
(header, email, text , html , anhang)

mfg

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

Donnerstag 25. August 2005, 12:46

rogen hat geschrieben: das funktioniert bei mir nicht. mail.Message()
Hi!

Ich glaube das geht mit get_payload().

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
rogen
User
Beiträge: 85
Registriert: Dienstag 29. März 2005, 17:45
Wohnort: neustift
Kontaktdaten:

Donnerstag 25. August 2005, 13:53

neine da geht auch nichts
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Donnerstag 25. August 2005, 14:19

ich hab das mal gemacht, ich schau mal zuhause nach.

probier einfach mal for xin mail.parts(): oder so irgendetwas.
kanns dir erst später genau sagen.
rogen
User
Beiträge: 85
Registriert: Dienstag 29. März 2005, 17:45
Wohnort: neustift
Kontaktdaten:

Donnerstag 25. August 2005, 20:10

teilt den body von header

Code: Alles auswählen

for mailanzahl in range(len(M.list()[1])):
                header,mes,octets = M.retr(mailanzahl+1)


                text = string.join(mes, "\n")
                
                
                file = StringIO.StringIO(text)

                message = rfc822.Message(file)
                typen = {}
                for k, v in message.items():
                    #print k, "=", v
                    typen.update({k:v})
                                        
                print "--------------------------------------------"

                print  message.fp.read()
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Donnerstag 25. August 2005, 21:05

rogen hat geschrieben:neine da geht auch nichts
Hi rogen!

Das kann doch fast nicht sein. Wie sieht denn deine Email aus?

Code: Alles auswählen

>>> s = \
... """From: g.penz@bcom.at
... To: b.penz@aon.at
... Subject: Hallo Welt
...
... Das ist
... die Nachricht.
... """
>>> import email
>>> m = email.message_from_string(s)
>>> m.items()
[('From', 'g.penz@bcom.at'), ('To', 'b.penz@aon.at'), ('Subject', 'Hallo Welt')]
>>> m.get_payload()
'Das ist\ndie Nachricht.\n'
Oder habe ich dich falsch verstanden?

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Antworten