0
我相对比较新的编程和python,但我认为我做得很好。这是我的代码,并且它工作正常,除了它以MIME格式获取整个消息。我只想要未读电子邮件的文本正文,但我无法弄清楚如何去除所有格式和标题信息。如果我使用一个smtp python脚本发送一个基本电子邮件,我使它工作正常,并且只打印正文,但是如果我使用outlook发送电子邮件,它会打印一堆额外的垃圾。很感谢任何形式的帮助。如何仅使用IMAP提取Python的电子邮件正文?
client = imaplib.IMAP4_SSL(PopServer)
client.login(USER, PASSWORD)
client.select('INBOX')
status, email_ids = client.search(None, '(UNSEEN SUBJECT "%s")' % PrintSubject)
print email_ids
client.store(email_ids[0].replace(' ',','),'+FLAGS','\Seen')
for email in get_emails(email_ids):
get_emails()
def get_emails(email_ids):
data = []
for e_id in email_ids[0].split():
_, response = client.fetch(e_id, '(UID BODY[TEXT])')
data.append(response[0][1])
return data
如果我回想起来,outlook程序遵循自己的电子邮件标准(包括一些“额外的垃圾”)。试着用谷歌搜索它的定义。 – martineau 2010-12-20 20:38:56