罗,
与imaplib有一些问题。我正在尝试将gpg文件的内容放入电子邮件正文中。
加密文件如下所示:
ÕþëÂüÿΩfXаÕ庼H»[ßÖq«Ì5ßö
我的代码看起来像这样:
gpgFH = open(gpgFile, 'rb') gpgStr = gpgFH.read()
newEmail = email.message.Message() newEmail['Subject'] = 'blah' newEmail['From'] = 'blah@blah.com' newEmail['To'] = 'blah@blah.com' newEmail.set_payload(gpgStr+'\n') srv.append('INBOX', '', imaplib.Time2Internaldate(time.time()), str(newEmail))
当gpgStr是“你好”时,这很好用。当它是加密的乱码时,它就是剂量。我猜测unicode在解决方案的某个方面处于丑陋的脑袋,但我正在努力使其发挥作用。
答案 0 :(得分:2)
尝试base64编码文件的数据。上面的代码将二进制数据放入电子邮件中,这是行不通的。
import base64
gpgFH = open(gpgFile, 'rb')
gpgStr = gpgFH.read()
gpgEncoded = base64.b64encode(gpgStr)
...
或者,您可能希望将GPG数据添加为附件而不是正文。