14

imaplibでメールを削除できますか?もしそうなら、どのように?

4

3 に答える 3

22

ドキュメントの例のように、(接続を表すオブジェクトの) storeメソッドを使用して、削除するメッセージ番号にフラグを設定します。次に、そのようにマークされたすべての削除を実際に実行する抹消メソッド。IMAP4r'\Deleted'

Gmail の IMAP の実装は、デフォルトで微妙に異なるセマンティクスを持っていますが、必要に応じて微調整して、従来の IMAP 実装 (上記のシーケンスが機能する場合) のように動作させることができます。基本的には、「高度な IMAP コントロール」ラボを有効にする必要があります。 、そして私が与えたURLの指示に従って、あなたが望むIMAPセマンティクスを正確に取得してください(「削除された」メールをアーカイブするのではなく、物理的に削除する、を待つかどうかexpungeなど)。

于 2009-11-22T00:30:37.903 に答える
19

IMAPを介した電子メールの削除は、次の2つのフェーズで実行されます。

  • 1つ以上のアイテムに削除のマークを付けます。imap.store(msg_no, '+FLAGS', '\\Deleted')
  • メールボックスを消去します。imap.expunge()

imapあなたのIMAP4オブジェクトです)

于 2009-11-22T00:23:40.620 に答える
10
imap.uid('STORE', list_of_msgno , '+FLAGS', '(\Deleted)')  
imap.expunge() 

すなわち

imap.uid('STORE', '2, 4, 9, 12' , '+FLAGS', '(\Deleted)') 

削除されるメッセージは(2, 4, 9, 12)次のとおりです。uid

于 2010-06-15T11:07:43.203 に答える