python email_python email.message_from_string()解析问题
My setup uses fetchmail to pull emails from Gmail, which are processed by procmail and passes it to a python script.When I use email.message_from_string(), the resulting object is not parsed as an ema
My setup uses fetchmail to pull emails from Gmail, which are processed by procmail and passes it to a python script.
When I use email.message_from_string(), the resulting object is not parsed as an email object. get_payload() returns the header/body/payload text of the email as a single text blob.
This is the text it returns:
From example@gmail.com Sat Aug 17 19:20:44 2013
>From example Sat Aug 17 19:20:44 2013
MIME-Version: 1.0
Received: from ie-in-f109.1e100.net [74.125.142.109]
by VirtualBox with IMAP (fetchmail-6.3.21)
for (single-drop); Sat, 17 Aug 2013 19:20:44 -0700 (PDT)
Received: by 10.70.131.110 with HTTP; Sat, 17 Aug 2013 19:20:42 -0700 (PDT)
Date: Sat, 17 Aug 2013 19:20:42 -0700
Delivered-To: example@gmail.com
Message-ID:
Subject: test 19:20
From: example
To: example
Content-Type: multipart/alternative; boundary=001a1133435474449004e42f7861
--001a1133435474449004e42f7861
Content-Type: text/plain; charset=ISO-8859-1
19:20
--001a1133435474449004e42f7861
Content-Type: text/html; charset=ISO-8859-1
--001a1133435474449004e42f7861--
My code:
full_msg = sys.stdin.read()
msg = email.message_from_string(full_msg)
msg['to'] # returns None
msg.get_payload() # returns the text above
What am I missing to get Python to properly interpret the email?
I see from these questions that I may not be getting the proper email headers somewhere along the line, but I cannot confirm. That ">" on line 2 is not a typo: it's in the text.
解决方案
Regardless of ">" being "in the text" as you say, whatever that means - it's wrong. After removing this character:
>python test.py
example
[,
]
So the error is not in parsing the message, but in the ">" character somehow corrupting your email text.
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)