ruby-on-rails - 如何使用 ActionMailer 获取电子邮件正文

标签 ruby-on-rails email actionmailer

我正在用这样的 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/

相关文章:

ruby-on-rails - Google Maps for Rails - 标记中心始终最大缩放

ruby-on-rails - 帮助在 Lion GM 上安装 Ruby 1.9.2

ruby-on-rails - 如何为Rails ActionMailer配置主机名?

ruby-on-rails - ActionMailer 不在开发 Rails 4 中发送邮件

javascript - CoffeeScript 在我的 ruby​​ 应用程序中不起作用

ruby-on-rails - ImageMagick-6.8.6-8 Paperclip::错误::NotIdentifiedByImageMagickError

c# - 在 ASP.NET C# 中发送带有接受特定文件类型的附件的电子邮件

javascript - 从JS中的字符串中提取姓名和电子邮件

c++ - 如何在 C++ 中使用 yahoo 或 gmail 发送电子邮件

ruby-on-rails - Rails 和 Gmail SMTP,如何使用自定义发件人地址