有关 python 对邮件内容解析的问题
小弟最近写了一个收邮件的 python 程序,但是在邮件内容解析时,若为 multipart/* 类型时,邮件内容总是解析不出来,还是乱码(应该是还没解码)。而下边是源代码,邮件内容和接收内容也在后边附带有。请高手指点指点,急。。。。
各们大哥,若谁能给小弟指点出一点头绪,小弟将感激不尽。。。。。。
#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
#### 源代码用来接收邮件,
import poplib
import email,string,sys,os
from email.Header import Header
from email.Header import decode_header
popClient = poplib.POP3('pop3.163.com')
popClient.set_debuglevel(1)
popClient.user('xtrg****')
popClient.pass_('5321****')
numMsgs, mboxSize = popClient.stat()
#print "Number of messages ", numMsgs
#print "Mailbox size", mboxSize
#print popClient.list()
def showMessage(mail):
if mail.is_multipart():
for part in mail.walk():
showmessage(part)
else:
type=mail.get_content_charset()
if type=='None':
print mail.get_payload()
else:
try:
print unicode(mail.get_payload('base64'),type)
except:
print mail.get_payload()
for id in range (numMsgs):
hdr,message,octet=popClient.retr(id+1)
mail=email.message_from_string(string.join(message,'\n'))
mail['subject'],mail.get('subject')
mail['from'],mail.get('from')
mail['To'],mail.get('To')
mail['date'],mail.get('date')
subject = email.Header.decode_header(mail['subject'])[0][0]
subcode= email.Header.decode_header(mail['subject'])[0][1]
FromAddr=email.Header.decode_header(mail['from'])[0][0]
ToAddr=email.Header.decode_header(mail['To'])[0][0]
date=email.Header.decode_header(mail['date'])[0][0]
print '*******************************************'
print ' ********** mail',id+1,'**************** '
print '\n'
print 'Subject: ',subject
print 'From: ',FromAddr
print 'To: ',ToAddr
print 'Date: ',date
print '邮件内容:'
showMessage(mail)
print '\n\n'
popClient.quit()
#######################################################################
######### 下边是解析后收到的邮件内容
*cmd* 'USER xtr****'
*cmd* 'PASS 532****'
*cmd* 'STAT'
*stat* ['+OK', '8', '8672']
*cmd* 'RETR 1'
*******************************************
********** mail 1 ****************
Subject: Wayne 邀请您开设 Google 电子邮件帐户
From: Wayne <moonbingbing@gmail.com>
To: xtrgm523@163.com
Date: Fri, 11 Aug 2006 19:28:38 +0800
邮件内容:
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KV2F5bmUg6YKA6K+35oKo5byA6K6+5YWN6LS5IEdtYWlsIOW4kOaIt+OA
ggoK6KaB5o6l5Y+X5q2k6YKA6K+35bm25rOo5YaM5oKo55qE5biQ5oi377yM6K+36K6/6ZeuIGh0
dHA6Ly9tYWlsLmdvb2dsZS5jb20vbWFpbC9hLTM4YmU2YjU3MDctY2UwZTI2NWFhMC0yMWU3ODAz
ODNjCgrmgqjliJvlu7rluJDmiLfkuYvlkI7vvIzmiJHku6zkvJrlsIbmgqjnmoTmlrDnlLXlrZDp
gq7ku7blnLDlnYDlkYrnn6UgV2F5bmXvvIzku6Xkvr/mgqjpgJrov4cgR21haWwg5LiO5YW25L+d
5oyB6IGU57O777yBCgrkuI3nn6Xmgqjlr7kgR21haWwg5piv5ZCm5pyJ5omA5LqG6Kej77yM5a6D
5piv5LiA6aG55Z+65LqO5pCc57Si55qE5YWo5paw572R57uc6YKu5Lu25pyN5Yqh77yM5YW35aSH
5Lul5LiL5Yqf6IO977yaCgotIOi2hei/hyAyLDUwMCBNQiAoMkdCKSDnmoTlhY3otLnlrZjlgqjn
qbrpl7QKLSDlhoXnva4gR29vZ2xlIOaQnOe0ou+8jOWPr+WNs+aXtuafpeaJvuaCqOaJgOmcgOea
hOS7u+S9lemCruS7tgotIOWwhumCruS7tuWSjOebuOWFs+WbnuWkjeiHquWKqOW9kuWFpSLkvJro
r50i5LitCi0g5Yip55So5p6B5a+M5Yib5paw57K+56We55qEIEdvb2dsZSDmioDmnK/lvLrmnInl
ipvlnLDpmLLojIPlnoPlnL7pgq7ku7YKLSDmsqHmnInku6TkurrnlJ/ljoznmoTlpKfluYXlub/l
kYogLSDku4Xku4XmmK/lsI/luYXmloflrZflub/lkYrku6Xlj4rkuI7mgqjpgq7ku7blhoXlrrnn
m7jlhbPnmoTnvZHpobUKCuimgeWcqOazqOWGjOS5i+WJjeS6huino+acieWFsyBHbWFpbArnmoTo
r6bmg4XvvIzor7forr/pl67vvJpodHRwOi8vbWFpbC5nb29nbGUuY29tL21haWwvaGVscC9pbnRs
L3poLUNOL2JlbmVmaXRzLmh0bWwKCuWPpuWklu+8jOimgeaDs+S6huino+aCqOWPr+S7peS9leet
iei9u+advuWcsOi9rOiAjOS9v+eUqOi/meS4gOaWsOWei+eUteWtkOmCruS7tuacjeWKoe+8jOiv
t+WPgumYheaIkeS7rOaWsOeJiOi9rOaNouaMh+WNl++8mmh0dHA6Ly9tYWlsLmdvb2dsZS5jb20v
c3dpdGNoLwoK5oiR5Lus5LuN5Zyo5q+P5aSp5Yqq5Yqb5pS56L+bIEdtYWls77yM5Zug5q2k5Y+v
6IO96L+Y5Lya5a6a5pyf5ZCR5oKo5b6B5rGC5oSP6KeB5ZKM5bu66K6u44CC5oiR5Lus5biM5pyb
5oKo6IO95aSf5Zac5qyiIEdtYWls77yM5oiR5Lus6Ieq5bex5b6I5Zac5qyi44CC6ICM5LiU77yM
5a6D5Y+q5Lya5Y+Y5b6X6LaK5p2l6LaK5aW944CCCgroobflv4PmhJ/osKLvvIwKCkdtYWlsIOWw
j+e7hOaVrOS4igoK77yI5aaC5p6c54K55Ye75pys6YKu5Lu25Lit55qE572R5Z2A5peg5pWI77yM
6K+35bCG6K+l572R5Z2A5aSN5Yi25bm257KY6LS06Iez5rWP6KeI5Zmo55qE5Zyw5Z2A5qCP5Lit
77yJ44CCCg==
*cmd* 'RETR 2'
*******************************************
********** mail 2 ****************
Subject: 你好
From: xtrgm523@163.com
To: None
Date: Sun, 13 Aug 2006 09:18:45 +0800 (CST)
邮件内容:
你好吧
####################################################################################
########### 下边是邮件1 和 邮件2 的内容,来自于163邮箱。
日 期: 2006-08-13 09:18:45( 7 小时, 28 分钟 前)
发件人: xtrgm523@163.com 拒收
收件人: (无)
主 题: 你好 [新窗口打开]
你好吧
############################################################
日 期: 2006-08-11 19:28:38( 1 天, 21 小时, 19 分钟 前)
发件人: "Wayne" <moonbingbing@gmail.com> 添加到通讯录 拒收 邀请
收件人: xtrgm523@163.com
主 题: Wayne_邀请您开设_Google_电子邮件帐户 [新窗口打开]
-----------------------------------------------------------------------
Wayne 邀请您开设免费 Gmail 帐户。
要接受此邀请并注册您的帐户,请访问 http://mail.google.com/mail/a-38be6b5707-ce0e265aa0-21e780383c
您创建帐户之后,我们会将您的新电子邮件地址告知 Wayne,以便您通过 Gmail 与其保持联系!
不知您对 Gmail 是否有所了解,它是一项基于搜索的全新网络邮件服务,具备以下功能∶
- 超过 2,500 MB (2GB) 的免费存储空间
- 内置 Google 搜索,可即时查找您所需的任何邮件
- 将邮件和相关回复自动归入"会话"中
- 利用极富创新精神的 Google 技术强有力地防范垃圾邮件
- 没有令人生厌的大幅广告 - 仅仅是小幅文字广告以及与您邮件内容相关的网页
要在注册之前了解有关 Gmail
的详情,请访问∶http://mail.google.com/mail/help/intl/zh-CN/benefits.html
另外,要想了解您可以何等轻松地转而使用这一新型电子邮件服务,请参阅我们新版转换指南∶http://mail.google.com/switch/
我们仍在每天努力改进 Gmail,因此可能还会定期向您征求意见和建议。我们希望您能够喜欢 Gmail,我们自己很喜欢。而且,它只会变得越来越好。
#####################################################################################
############ 资料都在里边了,请各位大哥可以给小弟一些指点
############ 小弟最近在搞一个收发邮件的模块,发邮件已经搞好了,但就是这个收邮件
############ 还有些问题,真的需要大家帮帮忙了。。。。 ;)