11

送信済みのメッセージを検索しようとしていますが(実際には両方を気にしています)、受信メッセージしか受信しません。とりあえず持っています

imap_conn.select()
str_after = after.strftime('%d-%b-%Y')
typ, msg_ids = imap_conn.search('UTF-8','SINCE',str_after)

これで同等の結果が得られます

imap_conn.select('INBOX')

INBOXをALLまたはSENTに置き換えると、次のようになります。コマンドSEARCHは、状態AUTHで無効であり、状態SELECTEDでのみ許可されます。

4

5 に答える 5

24

男、エラーメッセージはとても誤解を招くです。実際に言っているのは、無効なフォルダ名を選択しようとしたため、検索操作が失敗したということです。

現在有効なフォルダ/ラベルを確認/確認するには、次のようにします。

ImapClientの使用

from imapclient import IMAPClient
## Connect, login and select the INBOX
imap_conn = IMAPClient('imap.gmail.com', use_uid=True, ssl=ssl)
imap_conn.login(USERNAME, PASSWORD)

print(imap_conn.list_folders())

imaplibの使用

import imaplib
mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login('myusername@gmail.com', 'mypassword')
print(mail.list())

期待していたフォルダ名を確認した後、すべてが順調でした。

于 2012-09-25T05:44:41.000 に答える
4
import imaplib
obj = imaplib.IMAP4_SSL('imap.gmail.com',993)
obj.login('userid','password')
obj.select('Sent')  # <-- response like ('OK', ['74']) --> total no. of mail in sent folder
obj.uid('SEARCH',None,'All') # <-- Returns the list of uids of the sent folder.
于 2010-09-27T06:11:00.627 に答える
4

次を使用する必要があります:imap_conn.select('[Gmail] / Sent Mail')

これを見る将来のユーザーのためにこれを指摘したかっただけです。コメントに隠されています。

于 2011-12-22T21:28:08.037 に答える
4

文字列には必ず余分な引用符を使用してください。

imap_conn.select('"[Gmail]/Sent Mail"')  

それは私のために働いた。

于 2018-06-07T07:29:17.643 に答える
0

印刷を使用する必要がありますimap_conn.list()。タグは言語ベースです。たとえばスペイン語では[Gmail]/Todos

于 2016-02-18T09:03:09.910 に答える