Seite 1 von 1

wichtigsten daten aus email filtern

Verfasst: Samstag 15. September 2012, 16:15
von campino97
hi leutz
ich habe vor mir ein emailprogramm zu erstellen.
dafür erstelle ich mir gerade ein modul zum abrufen einer email.
wenn ich aber mit pop.retr(x) eine email abrufe kommt immer eine riesige liste mit total unnötigen infos.
ich hab jetzt probiert einfach die wichtigen daten über den index zu printen, aber je nach inhalt der email verändert sich der index leider.
wie kann ich nur die wichstigen sachen wie z.B. Absender,Empfänger,betreff,datum,etc.
bekommen???
schonmal danke

was benutze ich besser zum abrufen pop oder imap?
ich hab jetzt einfach pop benutzt.

Re: wichtigsten daten aus email filtern

Verfasst: Samstag 15. September 2012, 17:57
von /me
campino97 hat geschrieben:was benutze ich besser zum abrufen pop oder imap?
Das was du dafür brauchst. Ein Mailprogramm erstellen zu wollen ohne die Bedeutung von POP3 oder IMAP zu kennen halte ich für sehr ambitioniert. Natürlich kann das trotzdem funktionieren, ABER (und ich schreibe das bewusst groß) nur dann wenn du bereit bist auch Eigeninitiative zu zeigen und selber zu recherchieren.

Ganz (und vielleicht zu) simpel gesagt holst du mit POP3 Mails von einem Server ab, bei IMAP arbeitest du mit Daten auf einem Server.

Re: wichtigsten daten aus email filtern

Verfasst: Samstag 15. September 2012, 18:02
von campino97
das pop die emails runterläd und imap die dateien auf dem server lässt weiß ich auch.
aber ich will wissen was man besser für ein mailprogramm benutzt.

Re: wichtigsten daten aus email filtern

Verfasst: Samstag 15. September 2012, 18:42
von darktrym
Das was der Email-Server anbietet im Zweifelsfall muss ohnehin beides implementiert werden.

Re: wichtigsten daten aus email filtern

Verfasst: Mittwoch 19. September 2012, 18:26
von campino97
also nach langem probieren habe ich endlich eine lösung gefunden.
eine email ist nach festen formen aufgebaut, der absender fängt mit from an usw.
der body ist auch zwischen zwei termen.

Code: Alles auswählen

for i in email:
            if i.startswith("Date:"):
                self.datum = i
            elif i.startswith("Subject:"):
                self.betreff = i
            elif i.startswith("From:"):
                self.absender = i
            elif i.startswith("To:"):
                self.empfaenger = i
        index = 0
        anf = "_"
        ende = "_"
        self.body = ""
        for i in email:
            if i == email[-1][:-2]:
                if anf == "_":
                    anf = index
                elif anf != "_":
                    ende = index
            index += 1
        self.bodyliste = email[anf+2:ende]
        self.body = "\n".join(self.bodyliste)
        print self.body

wie speicher ich die emails am besten?
bis jetzt pickle ich einfach eine liste mit allen emails, das ist zwar nicht die beste lösung geht aber.
ich denke ich mache einfach alle emails in eine datenbank,
ich könnte auch für jede email ein objekt machen und picklen

also was ist am besten??
schonmal danke.

Re: wichtigsten daten aus email filtern

Verfasst: Mittwoch 19. September 2012, 19:13
von EyDu
Dir ist das email-Modul schon bekannt, oder? Damit bekommst du im Prinzip alles geschenkt.

Re: wichtigsten daten aus email filtern

Verfasst: Donnerstag 20. September 2012, 14:31
von campino97
ja ich kenn das schon aber nur zum versenden von emails.
kann man damit auch welche empfangen?

Re: wichtigsten daten aus email filtern

Verfasst: Donnerstag 20. September 2012, 15:36
von darktrym
Link Scheint doch alles zu haben?

Re: wichtigsten daten aus email filtern

Verfasst: Donnerstag 20. September 2012, 17:25
von EyDu
campino97 hat geschrieben:ja ich kenn das schon aber nur zum versenden von emails.
kann man damit auch welche empfangen?
Wir reden von dem selben email-Modul? Damit kann man ganz allgemein mit E-Mails arbeiten. Egal, ob man nun E-Mail erstellen oder Mails parsen möchte.

Re: wichtigsten daten aus email filtern

Verfasst: Samstag 22. September 2012, 16:23
von campino97
@eydu: stimmt ich hab grad gesehen dass man die email noch versenden muss.

wie kann ich mit dem email modul die message selber rauslesen.
weil mail["Message"] ,sowie man es z.B. beim datum macht mail["Date"] , funktioniert nicht.

danke

Re: wichtigsten daten aus email filtern

Verfasst: Samstag 22. September 2012, 18:51
von BlackJack
@campino97: Lies am besten mal die Dokumentation zu dem Modul und die entsprechenden RFCs wie Mails aufgebaut sind.