Wie kann ich feststellen, ob eine E-Mail, Base64-codiert ist?
Ich bin habend Schwierigkeit Feststellung, ob der Körper einer text-E-Mail-Nachricht base64-kodiert ist.
wenn es dann verwenden Sie diese Codezeile;
die Nutzung von jython 2.2.1
dirty=base64.decodestring(dirty)
sonst normal weiter.
Dies ist der code den ich habe atm. Welche Codezeile wird mir erlauben, zu diesem Extrakt aus der E-Mail:
"Content-Transfer-Encoding: base64"
import email, email.Message
import base64
def _get_email_body(self):
try:
parts=self._email.get_payload()
check=parts[0].get_content_type()
if check=="text/plain":
part=parts[0].get_payload()
enc = part[0]['Content-Transfer-Encoding']
if enc == "base64":
dirty=base64.decodestring(dirty)
elif check=="multipart/alternative":
part=parts[0].get_payload()
enc = part[0]['Content-Transfer-Encoding']
if part[0].get_content_type()=="text/plain":
dirty=part[0].get_payload()
if enc == "base64":
dirty=base64.decodestring(dirty)
else:
return "cannot obtain the body of the email"
else:
return "cannot obtain the body of the email"
return dirty
except:
raise
OKAY, dieser code funktioniert nun! vielen Dank an alle
- Es würde helfen, Leute zu beantworten, wenn Sie uns mitteilen könnten, was MIME library-Objekt(en), die Sie verwenden. Verwenden Sie Python-Bibliotheken oder Java-Objekte?
- okay danke für die Erinnerung, normalerweise Recht gut mit dieser!
- Möglich, Duplikat der wie kann ich feststellen, ob eine E-Mail-header base64 kodiert
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen:
Es ist ein header, so dass Sie nicht in der Lage sein, um es Blick auf den Körper. Sie sollten in der Lage sein, um den gleichen Ort, den Sie finden, out das Thema.
Es ist ein header, aber Sie haben, um die Nutzlast zunächst aus der Nachricht.
Es werden:
header = msg.get_payload()[0]
headers['Content-Transfer-Encoding']
Ich bin mit Python 3