9

Pythonのimaplibを使用して、メールを受信トレイからゴミ箱に移動するのと同じくらい簡単なことをしようとしています。しかし、私はいくつかの問題を抱えており、それらを解決する方法がわかりません。

サーバーに接続してログインした後、INBOX メールボックスを選択し、次の方法で ID リストを取得します。

typ, ids = imap_object.search(None, 'INBOX')
ids_list = ids[0].split()

そこから Id を取得したとしましょう、X、そしてその電子メールが会話の一部であると仮定しましょう。私がする時

imap_object.fetch (X, '(RFC822)')[1]

思った通りメッセージだけは見えるのですが、

imap.store(X, '+FLAGS', r'(\Deleted)')

メッセージだけでなく、すべての会話が削除されます。また、メールを完全に削除したくないので、ゴミ箱に送りたいので、次のことを試しました:

imap.copy(X, '[Gmail]/Papelera')
imap.store(X, '+FLAGS', r'(\Deleted)')
imap.expunge()

しかし、メッセージだけをゴミ箱にコピーし、その後会話全体を削除するため、メールが失われます!

質問: 会話全体を削除せずに、imaplib を使用して Gmail からメールを削除するにはどうすればよいですか?

4

1 に答える 1

2

会話は実際には削除されていないと思います。デフォルトでは、最後のフォルダからIMAPごとにメッセージを削除すると、会話がアーカイブされます。[設定]->[転送とPOP/IMAP]-> [メッセージが削除済みとしてマークされ、最後に表示されたIMAPフォルダーから消去された場合]を確認してください。

于 2011-04-07T19:05:22.207 に答える