python imaplib gpg文件内容到消息中

时间:2011-08-25 21:07:47

标签: python encryption imap

罗,

与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在解决方案的某个方面处于丑陋的脑袋,但我正在努力使其发挥作用。

1 个答案:

答案 0 :(得分:2)

尝试base64编码文件的数据。上面的代码将二进制数据放入电子邮件中,这是行不通的。

import base64

gpgFH = open(gpgFile, 'rb')
gpgStr = gpgFH.read()
gpgEncoded = base64.b64encode(gpgStr)
...

或者,您可能希望将GPG数据添加为附件而不是正文。