Python imaplibを使用してIMAP(Gmail)のプッシュ通知を有効にするにはどうすればよいですか?

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

  •  05-07-2019
  •  | 
  •  

質問

新しいメールがあるかどうかを確認するたびにGmailをポーリングせずに、imaplibを使用してGmailアカウントを監視する方法はありますか。または、言い換えれば、ポーリング間の遅延時間の代わりにすぐに処理できるように、スクリプトに新しいメッセージが通知されるようにするだけです。

IMAPプロトコルがIDLEコマンドでこれをサポートしていることがわかりますが、imaplibのドキュメントにはドキュメントが記載されていないため、これに関するヘルプは素晴らしいでしょう!

役に立ちましたか?

解決

imaplibにはこれを行うものは何もありません、AFAIK(ディスクレーマー:Pythonについてはほとんど知らない)、しかし、imaplibと同じインターフェースを持つPythonのIDLE拡張機能を実装しているようです(これは可能です)既存のコードを変更せずにスワップアウトするようです):

https://github.com/imaplib2/imaplib2

他のヒント

ProcImap をご覧ください。これは、libimapおよびlibimap2上のより抽象的なフレームワークであり、IMAPサービスを処理するための優れたソリューションを提供します。あなたが探しているものだけでなく、私にとってもそうです。私はあなたと同じ問題を抱えており、ProcImapを見つけました。自分で試してみます。

このリンクは、IMAP IDLEの使用例を示しています。 http://blog.timstoop.nl/2009/03/11/python-imap-idle-with-imaplib2/

casperOneの回答でリンクされているのと同じライブラリ(imaplib2)を使用します。

パッチ .python.org / issue11245 "rel =" nofollow "> bugs.python.org RFC 2177を実装しています同期方式のIMAP IDLE コマンド(複数のIMAPサーバーを待機するには、スレッドまたは他の並列実行手段を使用する必要があります)。 stdlib selectを使用して、タイムアウトを含むソケットで待機します。このパッチは、最終的に、stdlibに追加されます。ただし、最初にテストを記述する必要があります IDLE コマンドは、 Gmail IMAPプッシュ通知の必要性。 これが役立つことを願っています:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top