小编lin*_*ngy的帖子

Ruby,如何使用MIME multipart正确解码邮件?

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

我现在正在尝试'mail'和'ruby-gmail',我使用这样的解码函数:

gmail.inbox.emails[0].body.decoded
Run Code Online (Sandbox Code Playgroud)

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

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)
Run Code Online (Sandbox Code Playgroud)

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

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

ruby mime imap ruby-on-rails

2
推荐指数
1
解决办法
5128
查看次数

标签 统计

imap ×1

mime ×1

ruby ×1

ruby-on-rails ×1