我正在发送标准电子邮件,其中包含Rails,如
@mail = mail(to: registration.user.email, subject: "Registration Confirmation: #{@site.name}")
现在我需要从电子邮件中获取邮件正文(或本例中为html)。我尝试了以下但它不起作用,因为它不返回渲染的电子邮件,而是返回模板(包括ERB和Haml)。
@mail.body
@mail.body.raw_source
@mail.body.encoded
这样做似乎非常困难。我需要一个人在收到电子邮件时看到的结果。
更新
我看到ERB和Haml是一个HTML评论,这就是为什么在日志中它看起来像ERB而不是渲染的tempalte。所以@ mail.body.encoded工作正常。
答案 0 :(得分:14)
我尝试了接受的答案,但它显示了HEADER和HTML。要获取HTML标记 ,我使用了以下代码:
@mail.html_part.body.decoded
答案 1 :(得分:10)
@mail.body.encoded
怎么样(哪个应该给你你想要的结果)?