我正在使用 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