python imaplib gpg 文件内容转换为消息

发布于 2024-12-01 14:30:42 字数 819 浏览 0 评论 0原文

Lo,

imaplib 有一些问题。我正在尝试将 gpg 文件的内容放入电子邮件正文中。

加密文件看起来像这样:

ÕþëÂüÿΩfXаÕåº⁄H»[ßÖq«Ì5ßö

我的代码看起来像这样:

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

newEmail = email.message.Message() newEmail['主题'] = '废话' newEmail['From'] = '[电子邮件受保护]' newEmail['To'] = '[电子邮件受保护]' newEmail.set_payload(gpgStr+'\n') srv.append('INBOX', '', imaplib.Time2Internaldate(time.time()), str(newEmail))

当 gpgStr 为“hello”时,效果很好。当它是加密的胡言乱语时,它就没有作用。我猜unicode 在解决方案中的某个时刻抬起了丑陋的头,但我正在努力使其工作。

Lo,

Having some issues with imaplib. I'm trying to get the contents of a gpg file into the body of an email.

The encrypted file looks something like this:

ÕþëÂüÿΩfXаÕ庼H»[ßÖq«Ì5ßö

my code looks something like this:

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

newEmail = email.message.Message() newEmail['Subject'] = 'blah' newEmail['From'] = '[email protected]' newEmail['To'] = '[email protected]' newEmail.set_payload(gpgStr+'\n') srv.append('INBOX', '', imaplib.Time2Internaldate(time.time()), str(newEmail))

When gpgStr is "hello" this works fine. When it is that encrypted jibberish, it dosent. I'm guessing unicode rears its ugly head at some point in the solution, but i'm struggling to make it work.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

や莫失莫忘 2024-12-08 14:30:42

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

import base64

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

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

Try base64-encoding the file's data. The above code is putting binary data into the email, which isn't going to work.

import base64

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

Alternatively, you might want to add the GPG data as an attachment instead of the body.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文