Как установить заголовок по умолчанию? - PullRequest
0 голосов
/ 01 октября 2019

У меня много рассылок (*Mailer). Все работает по SMTP.

Я понимаю, как установить заголовок для конкретного *Mailer метода. Но как установить заголовок глобально? То есть мне нужны все письма, которые отправляет мое приложение, чтобы иметь мой заголовок. И чтобы это не противоречило индивидуальным настройкам рассылки.

Я пытался найти в документации (и в гугле), но ничего не нашел.

1 Ответ

0 голосов
/ 01 октября 2019

Все ваши почтовые программы должны наследоваться от ApplicationMailer, который сам наследует от ActionMailer :: Base.

В ApplicationMailer вы можете определить заголовки smtp по умолчанию, макет по умолчанию и т. Д. Вот мой application_mailer.rb, чтобы дать вам некоторые идеичто вы можете включить:

#application_mailer.rb
class ApplicationMailer < ActionMailer::Base
  default from: "Site Admin<#{NO_REPLY_EMAIL}>"
  layout 'mailer'

  def mail
    super(options)
  end

  private
  def options
    {:'List-Unsubscribe-Post' => :'List-Unsubscribe=One-Click',
     :'List-Unsubscribe' => unsubscribe_url,
     :subject => t('.subject', org_name: ORGANIZATION_NAME, app_name: APPLICATION_NAME),
     :to => "#{@recipient.email}",
     :date => Time.now }
  end

  def unsubscribe_url
    params = { :locale => I18n.locale,
               :user_id => @recipient.id,
               :unsubscribe_code => @recipient.refresh_unsubscribe_code,
               :protocol => :https }
    @unsubscribe_url = admin_unsubscribe_url( params )
  end

...