私が抱えている問題は、Microsoft Outlook Web メール アカウントから電子メール メッセージをダウンロードすると、改行文字が消えて、行が 1 つ長くなってしまうことです。しかし、たまにしか。これが私が今扱っている例です:
Microsoft Outlook Web App からダウンロードされるメッセージの元の本文 (vim で :set list をオンにしているため、ドル記号が含まれています):
Gobble$
これは $
複数行のメッセージ $
$
Hello$
私が実際に受け取ることになるメッセージの本文(また、vimで :set list があります):
Gobbleこれは複数行のメッセージです^M$
Hello ^I^I ^I ^I^I =^M$
ここには明らかに他にもいくつかのことが起こっていますが、それは私も理解していません - タブ (^I) 文字はどこから来ているのでしょうか? その等号はどこから来ているのですか?
ダウンロードを行うコードは次のとおりです (Python ライブラリ IMAPClient を使用)。
## Connect, login and select the INBOX
server = IMAPClient(HOST, use_uid=True, ssl=ssl)
server.login(USERNAME, PASSWORD)
select_info = server.select_folder('INBOX')
#Get messages since a certain time:
message_list = server.search(['SINCE %s' % cutoff.strftime('%d-%b-%Y')])
response = server.fetch(message_list, ['RFC822'])
for msgid, data in response.iteritems():
msg_string = data['RFC822'].__str__()
msg = email.message_from_string(msg_string)
payload = msg.get_payload()
body = payload
print body