2009-03-09 19 views
1

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

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

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

答えて

3

POP3には「フォルダ」という概念はありません。 gmailがあなたに「送った」メールと「受け取った」メールの両方を表示している場合は、実際にはそのメールをすべて受け取ることはできません。

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

+0

ありがとう...それは助けました。 :-) –

2

私はあなたの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() 

か何か:

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

+0

@Zachary:[email.message_from_string](http://docs.python.org/library/email.parser.html#email.message_from_string)のヘルプはまったく役に立ちますか? – tzot

関連する問題