wydaje się łatwo dostaćPython: Jak analizować organizmie z surowego email, biorąc pod uwagę, że surowe e-mail nie ma „ciało” tag lub cokolwiek
From
To
Subject
etc poprzez
import email
b = email.message_from_string(a)
bbb = b['from']
ccc = b['to']
przy założeniu, że "a"
jest ciągiem surowych wiadomości e-mail, który wygląda mniej więcej tak.
a = """From [email protected] Thu Jul 25 19:28:59 2013
Received: from a1.local.tld (localhost [127.0.0.1])
by a1.local.tld (8.14.4/8.14.4) with ESMTP id r6Q2SxeQ003866
for <[email protected]>; Thu, 25 Jul 2013 19:28:59 -0700
Received: (from [email protected])
by a1.local.tld (8.14.4/8.14.4/Submit) id r6Q2Sxbh003865;
Thu, 25 Jul 2013 19:28:59 -0700
From: [email protected]
Subject: oooooooooooooooo
To: [email protected]
Cc:
X-Originating-IP: 192.168.15.127
X-Mailer: Webmin 1.420
Message-Id: <[email protected]>
Date: Thu, 25 Jul 2013 19:28:59 -0700 (PDT)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="bound1374805739"
This is a multi-part message in MIME format.
--bound1374805739
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
ooooooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooooooooooo
--bound1374805739--"""
KWESTIA
jak można uzyskać Body
tego maila za pośrednictwem Python?
Do tej pory jest to jedyny znany mi kod, ale muszę go jeszcze przetestować.
if email.is_multipart():
for part in email.get_payload():
print part.get_payload()
else:
print email.get_payload()
Czy to jest właściwy sposób?
czy może coś jest prostsze, takie jak ...
import email
b = email.message_from_string(a)
bbb = b['body']
?
@GagandeepSingh, Dziękuję za poprawne. – falsetru
W każdym razie, aby to pokazać w zdekodowanym zwykłym tekście? –
Nieważne! Zdałem sobie sprawę, że mogę po prostu użyć biblioteki base64 i zrobić base64.b64decode() –