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, body, octets)=popinstance.retr(thisNum) returns =20 in the body of the email when the email contains chinese characters.
How do I handle this?
raw text of email:
Subject: (B/L:4363-0192-809.015) SI FOR 15680XXXX436
=20
Dear
=20
SI ENCLOSED
PLS SEND US THE BL DRAFT AND DEBIT NOTE
=20
TKS
=20
MYRI
—– Original Message —–=20
It is probably a Space character encoded in quoted-printable