我看到了一堆关于这个问题的其他问题,但其中大多数要么是过时的,要么不符合我的问题相同的情况。
问题就在这里。我用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
我只想向用户显示纯消息。你知道有什么好的解析器可以做到这一点,并且有一些例子很好地记录下来吗?
或者有没有其他更好的方法来显示电子邮件?
1条答案
按热度按时间roejwanj1#
就在我发布这个问题之后,我找到了下面的解决方案。
然后检查要显示哪个。