A mail can contain different blocks like:
--0016e68deb06b58acf04897c624e
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
content_1
...
--0016e68deb06b58acf04897c624e
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
content_2
... and so on
How can I get content of each block with python?
And also how to get properties of each block? (content-type, etc..)
For parsing emails I have used Message.walk()
method like this:
if msg.is_multipart():
for part in msg.walk():
...
For content you can try: part.get_payload()
. For content-type there is: part.get_content_type()
You will find documetation here: http://docs.python.org/library/email.message.html
You can also try email
module with its iterators.
http://docs.python.org/library/email.html
A very simple example (msg_as_str contains the raw bytes you got from the imap server):
import email
msg = email.message_from_string(msg_as_str)
print msg["Subject"]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With