2

poplibのみを使用してgmailの受信トレイからメールをダウンロードする必要があります。残念ながら、受信トレイのみを選択するオプションが表示されず、poplibは送信されたアイテムからのメールも提供します。

受信トレイからのみメールを選択するにはどうすればよいですか?

Gmail固有のライブラリは使いたくありません。

4

3 に答える 3

4

POP3には「フォルダ」の概念はありません。Gmailに「送信済み」メールと「受信済み」メールの両方が表示されている場合、実際にはそのすべてのメールを受信する以外に選択肢はありません。

おそらく、POP3の代わりにIMAP4を使用したほうがよいでしょう。Pythonには、GmailのIMAP4サーバーで動作するライブラリがあります。

于 2009-03-09T06:09:32.663 に答える
3

GMail アカウントへの POP3/IMAP アクセスが有効になっていると思います。

これはサンプルコードです:

import imaplib
conn= imaplib.IMAP4_SSL('imap.googlemail.com')
conn.login('yourusername', 'yourpassword')
code, dummy= conn.select('INBOX')
if code != 'OK':
    raise RuntimeError, "Failed to select inbox"

code, data= self.conn.search(None, ALL)
if code == 'OK':
    msgid_list= data[0].split()
else:
    raise RuntimeError, "Failed to get message IDs"

for msgid in msgid_list:
    code, data= conn.fetch(msgid, '(RFC822)')
    # you can also use '(RFC822.HEADER)' only for headers
    if code == 'OK':
        pass # your code here
    else:
        raise RuntimeError, "could not retrieve msgid %r" % msgid

conn.close()
conn.logout()

またはこのようなもの。

于 2009-03-09T18:09:55.630 に答える
2

この Java コードは、POP3 を使用している場合でも、ダウンロードする特定の「フォルダー」を選択できることを示唆しています。繰り返しますが、これは Python ではなく Java を使用しているため、YMMV です。

Java を使用して GMail からメッセージをダウンロードする方法 (ブログ投稿では、コンテンツを Lucene 検索エンジンにローカルでプッシュする方法について説明しています)

于 2009-03-09T06:18:44.483 に答える