Wie kann ich Push-Benachrichtigung für IMAP (Gmail) mit Python imaplib aktivieren?

StackOverflow https://stackoverflow.com/questions/421178

  •  05-07-2019
  •  | 
  •  

Frage

Gibt es eine Möglichkeit, ein Google Mail-Konto mit imaplib ohne Polling gmail jedes Mal, wenn ich sehen will, zu überwachen, ob neue E-Mail ist. Oder mit anderen Worten, ich mag nur das Skript einer neuen Nachricht informiert werden, damit ich es sofort statt einer Verzögerung der Zeit zwischen den Abfragen verarbeiten kann.

Ich sehe, dass das IMAP-Protokoll dies mit dem IDLE-Befehl unterstützt, aber ich kann nichts dokumentiert mit ihm in dem imaplib docs sehen, so dass jede Hilfe mit dieser wäre toll!

War es hilfreich?

Lösung

Es ist nicht etwas, in imaplib, das dies tut, AFAIK (disclamer: Ich weiß sehr wenig über Python), jedoch scheint es, dass jemand eine IDLE-Erweiterung für Python implementiert hat, die die gleiche Schnittstelle wie imaplib hat (die Sie Swap ohne Änderungen an vorhandenen Code, scheinbar):

https://github.com/imaplib2/imaplib2

Andere Tipps

Schauen Sie sich ProcImap . Es ist ein abstrakter Rahmen oben auf libimap und libimap2, eine schöne Lösung, die IMAP-Dienste zu handhaben. Sieht aus wie nur das Zeug, das Sie suchen, und auch für mich. Ich habe Recht, das gleiche Problem mit Ihnen und nur ProcImap gefunden. Werde versuchen, es für mich.

Dieser Link zeigt ein Beispiel IMAP IDLE verwenden: http://blog.timstoop.nl/2009/03/11/python-imap-idle-with-imaplib2/

Er verwendet die gleiche Bibliothek verknüpft in casperOne Antwort (imaplib2).

Es ist einfach Patch unter bugs.python.org Umsetzung RFC 2177 IMAP IDLE Befehl in einer synchronen Art und Weise (warten, für mehr als 1 IMAP-Server Sie Gewinde oder andere Mittel zur parallelen Ausführung verwenden müssen). Es verwendet stdlib wählen auf Sockel einschließlich Timeout zu warten. Dieser Patch wird href="http://bugs.python.org/issue11245#msg171889" schließlich hinzugefügt werden stdlib aber Tests müssen zuerst geschrieben werden. Die IDLE Befehl ist, was man a href <= "https://blogs.oracle.com/ chienr / entry / gmail_supports_imap_idle“rel = "nofollow"> müssen für gmail IMAP Push-Benachrichtigung. Hope, wird dies dazu beitragen:)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top