ruby 如何在Rails中使用Net::IMAP和Mail显示电子邮件的正文

dgenwo3n  于 2023-06-22  发布在  Ruby
关注(0)|答案(1)|浏览(94)

我看到了一堆关于这个问题的其他问题,但其中大多数要么是过时的,要么不符合我的问题相同的情况。
问题就在这里。我用Net::IMAP库获取一封电子邮件,然后从它创建一个Mail对象,这样它就更可读了。

# @imap is instance of Net::IMAP
mail = @imap.fetch(seqno, "RFC822")[0]
mail = Mail.read_from_string(mail.attr["RFC822"])

然后从Mail对象可以得到:

mail.body.to_s

我会得到消息,但在消息之前会有一个字符串,看起来像这样:

Content-Type: text/plain;\r\n charset=utf-8\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\n

我只想向用户显示纯消息。你知道有什么好的解析器可以做到这一点,并且有一些例子很好地记录下来吗?
或者有没有其他更好的方法来显示电子邮件?

roejwanj

roejwanj1#

就在我发布这个问题之后,我找到了下面的解决方案。

mail.html_part.body.decoded
# or
mail.text_part.body.decoded

然后检查要显示哪个。

相关问题