Gmailの受信トレイからpoplibを使用してメールをダウンロードする必要があります。残念ながら、受信トレイだけを選択するオプションは表示されず、送信アイテムからもメールが送信されます。poplib経由で受信箱からのみメールを選択
受信トレイからのみメールを選択するにはどうすればよいですか?
私はgmail固有のライブラリを使いたくありません。
Gmailの受信トレイからpoplibを使用してメールをダウンロードする必要があります。残念ながら、受信トレイだけを選択するオプションは表示されず、送信アイテムからもメールが送信されます。poplib経由で受信箱からのみメールを選択
受信トレイからのみメールを選択するにはどうすればよいですか?
私はgmail固有のライブラリを使いたくありません。
POP3には「フォルダ」という概念はありません。 gmailがあなたに「送った」メールと「受け取った」メールの両方を表示している場合は、実際にはそのメールをすべて受け取ることはできません。
おそらく、POP3の代わりにIMAP4を使用する方がよいでしょう。 PythonにはgmailのIMAP4サーバで動作するライブラリがあります。
このJavaコードは、POP3を使用している場合でも、ダウンロードする特定の「フォルダ」を選択できることを示唆しています。ここでも、これはPythonではなくJavaを使用しているため、YMMVです。
私はあなたの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()
か何か:
これは、サンプルコードです。
@Zachary:[email.message_from_string](http://docs.python.org/library/email.parser.html#email.message_from_string)のヘルプはまったく役に立ちますか? – tzot
ありがとう...それは助けました。 :-) –