wichtigsten daten aus email filtern

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
campino97
User
Beiträge: 42
Registriert: Freitag 3. September 2010, 20:11

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.
Benutzeravatar
/me
User
Beiträge: 3556
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

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.
campino97
User
Beiträge: 42
Registriert: Freitag 3. September 2010, 20:11

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.
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Das was der Email-Server anbietet im Zweifelsfall muss ohnehin beides implementiert werden.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
campino97
User
Beiträge: 42
Registriert: Freitag 3. September 2010, 20:11

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.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Dir ist das email-Modul schon bekannt, oder? Damit bekommst du im Prinzip alles geschenkt.
Das Leben ist wie ein Tennisball.
campino97
User
Beiträge: 42
Registriert: Freitag 3. September 2010, 20:11

ja ich kenn das schon aber nur zum versenden von emails.
kann man damit auch welche empfangen?
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Link Scheint doch alles zu haben?
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

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.
Das Leben ist wie ein Tennisball.
campino97
User
Beiträge: 42
Registriert: Freitag 3. September 2010, 20:11

@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
BlackJack

@campino97: Lies am besten mal die Dokumentation zu dem Modul und die entsprechenden RFCs wie Mails aufgebaut sind.
Antworten