从Python2.7升级到Python 3.2,发现邮件接收也改变了.
hdr,message,octet=popClient.retr(1)
原来返回的message是字符串列表,现在返回的是bytes列表.
如果想以字符串来处理的话,需要对bytes进行解码,可邮件的编码实在是太多了,测试发现:
http://chardet.feedparser.org/
上的chardet非常好用:
import chardet
cd=chardet.detect(astr)
然后会返回一个字典:
{'encoding': 'GB2312', 'confidence': 0.99}
直接使用cd['encoding']就知道是什么编码了.
唉,自己还要做许多工作.