Gmailと、ツールチップにタイトルが記載された新しいメールを受信した場合に通知するアプリケーションを使用しています。(GmailNotifier with Miranda-IM)私が受け取るメールのほとんどは読みたくないものであり、そのメールを削除するためだけに低速接続でGmailにログインしなければならないのは面倒です。プラグインはクローズドソースだと思います。
私は(失敗して)ログインして「トップ」の電子メール(最近受信したもの)を削除するスクリプトを書き込もうとしていました。しかし、これは私が思っていたほど簡単ではありません。
最初にimaplibを使用してみましたが、期待したメソッドが含まれていないことがわかりました。これはdbapi仕様に少し似ており、imap仕様が変更された場合に備えて最小限の機能しか含まれていません。次に、imap RFC(rfc3501)を読んでみました。途中で、メールクライアント全体を書きたくないことに気づいたので、代わりにpop3を使用することにしました。
poplibも最小限ですが、私が必要としているものがあるようです。ただし、pop3は、私がよく知っている順序でメッセージを並べ替えているようには見えません。受信した日付を確認したい場合は、ヘッダーを読み取るために、すべての電子メールでtop()またはretr()を呼び出す必要があります。
おそらく、すべてのメッセージヘッダーを繰り返し処理して、最新の日付を検索することもできますが、それは醜いです。可能であれば、メールボックス全体を解析しないようにします。また、メールボックスを「ポップ」して他のメッセージをダウンロードしたくありません。
今から6時間経ちましたが、始めたときほど解決策に近づいていません。シンプルなものを見落としていますか?私が試すことができる別のライブラリはありますか?(私は「チルカット」を見つけましたが、それは地獄に肥大化しており、標準ライブラリでこれを行うことを望んでいました)