Jon*_*mon 5 ruby ruby-on-rails actionmailer ruby-on-rails-3
我希望从我们的登台服务器发送的所有电子邮件都在主题中以"[STAGING]"开头.使用ActionMailer在Rails 3.2中有一种优雅的方法吗?
Jon*_*mon 18
这是我根据现有答案使用ActionMailer Interceptor找到的优雅解决方案.
# config/initializers/change_staging_email_subject.rb
if Rails.env.staging?
class ChangeStagingEmailSubject
def self.delivering_email(mail)
mail.subject = "[STAGING] " + mail.subject
end
end
ActionMailer::Base.register_interceptor(ChangeStagingEmailSubject)
end
Run Code Online (Sandbox Code Playgroud)
这适用于 Rails 4.x
class UserMailer < ActionMailer::Base
after_action do
mail.subject.prepend('[Staging] ') if Rails.env.staging?
end
(...)
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1337 次 |
| 最近记录: |