リア充爆発日記

You don't even know what ria-ju really is.

Railsで送信するメールのSubjectに一括で定型文を入れたいときのメモ

Webサービスから配信されるメールって最初にサービス名が入っているじゃないですか。

[HogeFuga] 会員登録のお知らせ

みたいに。

で、そのタイトルを毎回指定するのを忘れた、とか、忘れたわけじゃなくて、イチイチ入れるのってバカじゃないの?とかそういうケースの話。

ActionMailerのinterceptorを使う。
http://api.rubyonrails.org/classes/ActionMailer/Base.html#label-Observing+and+Intercepting+Mails

config/initializers/mail_subject.rb

class EmailSubject
  def self.delivering_email(mail)
    mail.subject = "[HogeFuga]" + mail.subject
  end
end
ActionMailer::Base.register_interceptor(EmailSubject)

これで、全部のメールタイトルの先頭に[HogeFuga]が挿入されるよ!

やったね!たえちゃん!