给定:message=Mail.new(参数[:message])
如图所示:http://docs.heroku.com/cloudmailin
它显示了如何将message.body获取为HTML,如何获取纯文本版本
谢谢
上述代码:
message=Mail.new(参数[:message])
将从完整邮件创建邮件gem的新实例。然后,您可以使用该消息上的任何方法来获取内容。因此,您可以使用以下方法获取普通内容:
message.text\u部分
或者使用
message.html\u部分
这些方法只是猜测并查找文本/纯文本或文本/html内容类型的多部分消息中的第一部分。CloudMailin还通过params[:plain]和params[:html]提供了这些方便的方法。值得记住的是,消息永远不能保证包含普通或html部分。可以肯定的是,使用以下类似的方法是值得的:
plain\u part=message.multipart?(message.text\u part?message.text\u part.body.decoded:nil):message.body.decoded
html\u part=message.html\u part?message.html_part.body.decoded:nil
作为旁注,在使用这些方法时,从消息中提取内容编码也很重要,并确保将输出编码到所需的编码方法中(如UTF-8)