gpt4 book ai didi

ruby-on-rails - Ruby,如何使用 MIME 多部分正确解码邮件?

转载 作者:数据小太阳 更新时间:2023-10-29 08:25:07 25 4
gpt4 key购买 nike

我正在尝试编写一个可以从 gmail 中提取邮件并在 Ruby 中获取内容的系统。 (使用 imap 或 pop)
据我所知,有'ruby-gmail '、'mail'(tmail 的较新版本)和 'action mailer' 可能会帮助我做到这一点。

我现在正在尝试“邮件”和“ruby-gmail”,我使用这样的解码函数:

gmail.inbox.emails[0].body.decoded

但是有些邮件可以正确解码,有些则不能。
解码邮件的输出如下所示:

This is MIME multipart 6.
--__=_Part_Boundary_002_310696381.907173471
Content-Type: text/plain;
charset="big5"
Content-Transfer-Encoding: quoted-printable

=AE=BC=A5=BF=A7A=A6n,
.......(some encoded content)

对于其他一些邮件,Content-Transfer-Encoding 是 base64。

有没有更好的方法来正确解码邮件?
或者我只需要阅读邮件,获取编码部分,并使用 Base64.decode64 或 unpack.("M") 解码邮件?

最佳答案

我不知道 'gmail' gem,但是 'mail' 一个很好用。有点像

require 'mail'
mail = Mail.new(mail_text)
mail.parts[0].body.decoded

应该可以工作(其他部分使用 'n' 而不是 0)

另请注意,它可能是附件,因此您需要 mail.attachments[0].decoded

关于ruby-on-rails - Ruby,如何使用 MIME 多部分正确解码邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4744692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com