【发布时间】:2015-01-09 02:26:36
【问题描述】:
我对 Python 还很陌生,很高兴我可以使用 imap4 访问 gmail
这里是我用来访问电子邮件的代码:
from __future__ import print_function
import getpass
import imaplib
import console
import collections
import re
import email
import codecs
import quopri
console.clear()
mail = imaplib.IMAP4_SSL('imap.gmail.com',993)
my password = getpass.getpass("Password: ")
address = 'sch.e@gmail.com'
print('Which email address (TO) would you like to search: ',end='')
EE = raw_input()
SS = r"(TO "+"\""+EE+"\""+r")"
mail.login(address, mypassword)
mail.select("inbox") #select the box on gmail
print("Checking for e-mails TO ",EE)
typ, messageIDs = mail.search(None,'(SINCE "01-Jan-2014")',SS)
MIDs=messageIDs[0].split()
for mailid in MIDs[::-1]:
resp, data = mail.fetch(mailid,'(RFC822)')
raw_body=data[0][1]
print(raw_body.decode('UTF-8','strict'))
print(quopri.encodestring(raw_body))
msg=email.message_from_string(raw_body)
print(msg)
很遗憾,打印语句中没有一个包含正确的变音符号。
(例如 Beste Grüße)
有人可以给我一个提示如何处理编码吗?除了“=”字符之外,它看起来像 Utf-8 编码文本,
谢谢!! 埃里克
【问题讨论】:
标签: python email unicode gmail-imap