Нужно ли создавать отдельную почтовую программу для копирования себя, когда пользователь регистрируется через Devise? - PullRequest
3 голосов
/ 08 февраля 2011

Devise реализован в приложении на Rails 3 с опциями: registerable и: validable. Пользователи получают подтверждение по электронной почте, без проблем.

Однако я хочу отправить дополнительное электронное письмо на другой адрес, когда человек регистрируется или подтверждает. Вероятно, я буду использовать шаблон Observer для этого.

Но могу ли я использовать один и тот же почтовик, где бы он ни находился, или использовать его?

1 Ответ

5 голосов
/ 11 марта 2011

Devise будет вызывать метод 'headers_for', если у вас есть такой в ​​вашей модели (например, Пользователь).

Я не использовал Observer, но я добавил этот метод в свой класс User, чтобы добавить скрытую копиюадрес и переопределить строку темы:

  def headers_for(action)
    if action == :confirmation_instructions
      { bcc: "sent-mail@company.com", subject: "Welcome to the App!" }
    else
      {}
    end
  end

Devise затем объединяет их со значениями по умолчанию.

Я решил это, прочитав исходный код Devise.

См .: https://github.com/plataformatec/devise/blob/master/app/mailers/devise/mailer.rb#L42

...