Python liest mein Outlook-E-Mail-Postfach und parst Nachrichten [duplizieren]

8

Ich bin völlig neu bei Python und habe die Aufgabe bekommen, ein Programm zu schreiben, das sich mit meinem Microsoft Outlook-Postfach verbindet, alle E-Mails durchgeht und wenn das Thema ein bestimmtes Wort hat, dann die Details der E-Mail-Zeit und des Betreffs wird in Variablen gespeichert, ebenso wie der E-Mail-Nachrichtentext analysiert wird und relevante Informationen in Variablen gespeichert werden. Dann wird diese Information in einem externen Server / Datenbank gespeichert. Außerdem muss es in der Lage sein, alle neuen E-Mails zu überwachen, die zu meinem Postfach kommen, und die Übung zum Überprüfen der Betreffzeile wiederholen und entsprechende Maßnahmen ergreifen.

Ich habe in C # mit Hilfe der Interop-Bibliothek genau die gleiche Art von Programm geschrieben, muss dies jetzt aber in Python tun. Ich kann die wesentlichen Details durch Lesen der Moduldokumentationen später herausfinden, aber von einer höheren Ebene Perspektive, welche Module ich verwenden sollte. Ich habe meine Forschung gemacht und einige Module, die erwähnt wurden, beinhalten E-Mail, procmail und imaplib, aber was empfehlen die Python-Veteranen hier für die Art von Projekt, das ich überhole?

Vielen Dank im Voraus für Ihre Hilfe!

    
user1650464 05.09.2012, 23:55
quelle

1 Antwort

10

Bei einer Firma, bei der ich gearbeitet habe, haben wir eine Mailbox für Vorschläge mit Webseiten, die "erwachsenes" Material und eine Mailbox für Spam-Mails enthalten, die blockiert werden sollten. Sobald ich anfing zu arbeiten, war ich verantwortlich für diese "gnädigen" Jobs. Bei der Überprüfung waren dort 2000 ungelesene Mails zu blockieren und 4000 Spam-Mails ebenfalls zu blockieren. Natürlich ist das eine zu automatisierende Funktion und ich suchte nach einer guten Lösung für mich. Was ich getan habe:

[1] Benutzte Python-IMAP, um eine Verbindung zum Exchange-Server herzustellen [2] Verwendet beautifulsoup (python), um die href-Werte in der E-Mail zu analysieren [3] Danach sende eine E-Mail, die dem Benutzer für seine Zusammenarbeit dankt (sehr wichtig)

Drei Tage nachdem mein Chef mir für die große Mühe bedankte, die ich tat, beantwortete ich alle E-Mails und wir bekamen Komplimente. Denn jetzt antworten wir den Kunden zurück. (nicht ich das Skript)

Ok. jetzt machen wir einen Plan

  1. Überprüfen Sie das Imap-Python-Modul [1], und nehmen Sie danach ein Tutorial mit ssl imap4 [4]
  2. Entscheiden Was ist das Beste für Ihr Problem? Laden Sie die E-Mails herunter (pop3) oder durchsuchen Sie sie auf dem Server (IMAP).
  3. ÜBERPRÜFEN, ob Sie eine Verbindung mit den Protokollen IMAP4 oder POP3 herstellen können. Der Austausch ist in diesem Teil fehlerhaft. Bitte überprüfen Sie auch diesen Fehlerbericht [3]
  4. Ok, du bist sicher, dass du dich mit IMAP4 oder POP3 verbinden kannst, jetzt hol eine Nachricht und analysiere sie mit einer leckeren Suppe oder LXML. (Mein Fall, ich suchte nach href und 'mailto:')
  5. Mache eine nette Nachricht mit dem Feld 'von:' die E-Mail, die es persönlich macht
  6. Gewinn

[1] google es imap python

[2] google es BeautifulSoup python

[3] Ссылка

[4] Ссылка

Sorry, aber ich musste die Google-URLs wegen meiner niedrigen Punktzahl geben.

Ich hoffe, diese Antwort gibt Ihnen einige gute Hinweise auf Ihre Lösung. Natürlich können Sie es hax0r mit lxml machen, indem Sie die Daten an eine DB senden. Aber nachdem du dich verbunden hast und anfängst zu manipulieren, kannst du alles tun:)

    
Carlos Henrique Cano 09.09.2012 19:33
quelle