Я использую Devise в приложении Rails 3 для создания учетных записей. У меня разные типы пользователей, поэтому я хочу отправить электронные письма с восстановлением пароля на основе типа пользователя.Как настроить пользовательский объект электронной почты в настраиваемом электронном письме?
Я могу отправить пользовательскую электронную почту, я не нашел способ установить пользовательские заголовки на этом электронном письме. Я особенно заинтересован в настройке темы письма.
Я сделал следующее:
- создал пользовательский Придумайте почтовик с настраиваемым способом внутри. Этот метод вызывает devise_mail с параметрами. В этом случае пользовательская почтовая программа называется «reset_partner_instructions». Я могу позвонить этой почтовой программе и успешно отправить электронное письмо с моей модели пользователя.
- Создан собственный шаблон просмотра электронной почты, который успешно вызывается с
devise_mail
.
Мой заказ почтовик выглядит следующим образом:
class AccountMailer < Devise::Mailer
helper :application # gives access to all helpers defined within application_helper.
def reset_partner_instructions(record, opts={})
devise_mail(record, :reset_partner_instructions, opts)
end
end
Проблема заключается в том, что тема письма всегда «Сбросить инструкции партнера». Я считаю, что Devise генерирует этот заголовок из имени почтового шаблона.
В этом учебнике https://github.com/plataformatec/devise/wiki/How-To:-Use-custom-mailer, они называют следующий код:
def confirmation_instructions(record, opts={})
headers["Custom-header"] = "Bar"
super
end
Поскольку я звоню «devise_mail» напрямую, я не вижу, как передать заголовки intoto почтовой программы. Есть ли простая настройка или метод, который я могу использовать для настройки темы электронной почты?
Спасибо за вашу помощь! Я закончил создание пользовательской почтовой программы. Я чувствовал, что это было гораздо более чистое решение, и мне не пришлось переоценивать то, что делал Девиз. – Omar
Но как передать переменную в Locale? Например, я хочу использовать первое имя в теме. –
@AmmarShah посмотреть [здесь] (https://stackoverflow.com/a/13954066/1297435) –