我正在使用https://github.com/mikel/mail
中的mail
宝石
我用它来解析原始邮件数据:例如
require 'mail'
maildata = Mail.new(body) #where body is the raw text of an email message
#from there I can see info such as
p maildata.body.decoded #displays the decoded email body
p maildata.from #shows who the email is from
我如何确定电子邮件是plaintext
还是html
是否有内置方式来执行此操作?
答案 0 :(得分:2)
您可以查看maildata.content_type
:
maildata.content_type
#=> "text/plain; charset=us-ascii"
如果是多部分电子邮件,您可以同时使用纯文本和HTML。然后,您可以查看parts
数组以查看它包含的内容类型:
maildata.content_type
#=> "multipart/alternative; boundary=\"--==_mimepart_4f848491e618f_7e4b6c1f3849940\"; charset=utf-8"
maildata.parts.collect { |part| part.content_type }
#=> ["text/plain; charset=utf-8", "text/html; charset=utf-8"]