email.retr ruft seltsame = 20 Zeichen, wenn der E-Mail-Körper in ihm chinesische Schriftzeichen hat
-
11-07-2019 - |
Frage
self.logger.info(msg)
popinstance=poplib.POP3(self.account[0])
self.logger.info(popinstance.getwelcome())
popinstance.user(self.account[1])
popinstance.pass_(self.account[2])
try:
(numMsgs, totalSize)=popinstance.stat()
self.logger.info("POP contains " + str(numMsgs) + " emails")
for thisNum in xrange(1, numMsgs + 1):
try:
(server_msg, body, octets)=popinstance.retr(thisNum)
except:
self.logger.error("Could not download email")
raise
text="\n".join(body)
mesg=StringIO.StringIO(text)
msg=rfc822.Message(mesg)
MessageID=email.Utils.parseaddr(msg["Message-ID"])[1]
self.logger.info("downloading email " + MessageID)
emailpath=os.path.join(self._emailpath + self._inboxfolder + "\\" + self._sanitize_string(MessageID + ".eml"))
emailpath=self._replace_whitespace(emailpath)
try:
self._dual_dump(text,emailpath)
except:
pass
self.logger.info(popinstance.dele(thisNum))
finally:
self.logger.info(popinstance.quit())
(server_msg, Körper, octets) = popinstance.retr (thisNum) liefert = 20 in dem Körper der E-Mail, wenn die E-Mail-chinesische Zeichen enthält.
Wie kann ich damit umgehen?
Rohtext E-Mail:
Betreff: (B / L: 4363-0192-809.015) SI FÜR 15680XXXX436
= 20
Liebe
= 20
SI ENCLOSED
PLS SENDEN SIE UNS DIE BL ENTWURF UND Lastschriftanzeige
= 20
TKS
= 20
myri
----- Original Message ----- = 20
Lösung
Es ist wahrscheinlich ein Leerzeichen in quoted-printable
Andere Tipps
Mit der quopri Modul die Zeichenfolge entschlüsseln.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow