0

我正在使用 Ruby 的 Net::IMAP 库来获取邮件并使用 Mail gems read_from_string 函数来获取正文,但是会发生的是包含 html 部分的邮件正确显示,但只有文本/纯文本部分的邮件连续显示而没有任何返回即使原始邮件有字符...请提出一些建议...提前谢谢!

我的代码:

取邮件(我已经有了 uid)

    email = @imap.uid_fetch(uid, ["BODY[HEADER.FIELDS (FROM TO DATE SUBJECT)]", "RFC822"])

提取标题和正文

header_attr = email[0].attr["BODY[HEADER.FIELDS (FROM TO DATE SUBJECT)]"]
header      = Mail.read_from_string(header_attr)
message_attr = email[0].attr["RFC822"]
message      = Mail.read_from_string(message_attr)

检查多部分

if message.multipart?
  @body = message.text_part.decoded.force_encoding("UTF8").encode("UTF-8")
else
  @body = message.body.decoded.force_encoding(message.charset).encode("UTF-8")
end

我在我的视图中使用了@body.to_s,但它没有给出正确的输出:(

邮件的内容类型

内容类型:文本/纯文本;charset="iso-8859-1" 内容传输编码:8bit

4

1 回答 1

0

正如@BoraMa 在上述评论中指出的那样,我只需要在我的视图中使用 simple_format(@body) 来显示正文

于 2016-04-12T07:29:16.767 回答