通过actionmailer&amp ;;手动编译电子邮件premailer

时间:2016-01-04 22:35:22

标签: ruby-on-rails actionmailer

我很难找到有关如何使用actionmailer rails模块手动编译电子邮件的文档。我正在寻找类似于content = Rails::ActionMailer.compile(raw_content)的东西,它可以完成#deliver上通常会发生的所有编译(预编译器为内联样式,辅助加载内容和其他一些自定义函数)。

我看到了一些使用actionmailer的测试方法的文档,可以将电子邮件发送到已交付的阵列而不提供它们。这是唯一可用的吗?

1 个答案:

答案 0 :(得分:1)

从Rails 4.x开始,您需要明确致电deliver以发送电子邮件。

UserMailer.whatever("args").deliver

因此,您可以使用(请注意不发送)获取消息而不发送消息:

message = UserMailer.whatever("args")

如果您在消息上拨打#body,则会获得正文内容。

message.body

message是一个ActionMailer::MessageDelivery对象,它只是Mail::Message的包装。