我遇到的问题是,当我从Microsoft Outlook网络邮件帐户下载电子邮件时,有时换行字符会消失,导致onelongunbrokenline。但有时候只是。以下是我正在处理的例子:
从Microsoft Outlook Web App下载的原始邮件正文(包括美元符号,因为我有:在vim中设置列表):
狼吞虎咽$
这是一封带有$
的消息
多行$
$
你好$
我实际上最终收到的消息正文(也有:在vim中设置列表):
GobbleThis是一条带有多条线的消息^ M $
你好^我^ 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