2

メールの実際の本文を表示しようとしています。これまでのところ、件名やその他のヘッダーは表示できますが、余分なものを除いて本文だけを読む方法が見つかりません。

from imapclient import IMAPClient
import email

host = 'imap.gmail.com'
user = 'myEmailAddress'
password = 'myPassword'
ssl = True

server = IMAPClient(host, use_uid=True, ssl=ssl)
server.login(user, password)

inboxInfo = server.select_folder('INBOX')
messages = server.search(['NOT DELETED'])
response = server.fetch(messages, ['RFC822', 'BODY[TEXT]'])

for msgid, data in response.iteritems():
        parsedEmail = email.message_from_string(data['RFC822'])
        body = email.message_from_string(data['BODY[TEXT]'])
        parsedBody = parsedEmail.get_payload(0)
        print parsedBody

server.logout()

そしてそれは次を返します:

>From nobody Fri Jun  6 01:29:34 2014
>Content-Type: text/plain; charset=UTF-8
>
>Email body

私はただ戻りたい:

>Email body
4

1 に答える 1

0

get_payload(i)オブジェクトを返しMessageます。

Message.walk()メソッドとテストを使用できますtext/plain

例えば

for part in message.walk():
   if part.get_content_type() == "text/plain":
      do_stuff_with_text_parts(part)
于 2014-06-06T07:11:09.033 に答える