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