我正在用这样的 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 而不是呈现的模板。所以@mail.body.encoded 工作正常。
最佳答案
我尝试了接受的答案,但它显示了 HEADER 和 HTML。获取 HTML 标签 只有我使用了以下代码:
@mail.html_part.body.decoded
关于ruby-on-rails - 如何使用 ActionMailer 获取电子邮件正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27462489/