字符串格式的电子邮件的有效载荷,python
我使用get_payload()
方法获得了有效载荷作为字符串实例。但我希望我的有效载荷能够以我能够逐字访问的方式运行 我尝试了几种方法,如as_string() method, flatten() method, get_charset() method
,但每次都有问题。字符串格式的电子邮件的有效载荷,python
我用下面的代码
import email
from email import *
f=open('mail.txt','r')
obj=email.parser.Parser()
fp=obj.parse(f)
payload=fp.get_payload()
与一对夫妇我自己生的电子邮件只是测试你的代码段有我的有效载荷。做工精细...
get_payload()返回无论是列表或字符串,所以你需要检查第一
if isinstance(payload, list):
for m in payload:
print str(m).split()
else:
print str(m).split()
编辑
根据我们的讨论,您的问题是,你是不检查fp对象上的is_multipart(),实际上它是一个消息实例。如果fp.is_multipart()== True,那么get_payload()将返回一个消息实例列表。在你的情况,根据你的榜样邮件,这不是多部分,和FP竟是你在有趣的对象。
我得到了我的有效载荷为一个字符串作为我的FP不是多部分 如果它可能已被一多,它会返回的字符串 的列表,以便现在就可以使用下面的代码
payload=fp.get_payload()
abc=payload.split(" ")
它给我的输出如下 [“好”,“天\ nhttp://72.167。 116.186/image/bdfedx.php?iqunin = 3D41 \ n \ n','','','','','','','','','','','','','' 'Sun','18','Dec','2011','10:53:43 \ n_ _ __ _ __ _ __ _ __ _ __ _ \ n“她 ' '消灭', '他', '干', '有', '软',' 绒布,''''和','给'''他','一些','干净','干','衣服,='n','和','制造','他','非常','('),'Lyrica','wa946758 \ n']
感谢jdi :) ps由于存在一些限制,因此无法将其作为昨天的答案
你没有提到你实际上有什么问题 – jdi 2011-12-18 18:13:01
两次导入是没用的。你应该删除第二行。 – rubik 2011-12-18 18:19:13
非常感谢,其实我是新的这种语言 我需要的是获得一个列表,以便我可以访问该列表中的每个单词 – Puneet 2011-12-18 18:27:48