如何在注册后向用户发送电子邮件(Devise gem)

时间:2012-07-24 11:29:12

标签: ruby-on-rails devise mailer

我已经使Recoverable模块正常工作,因此我设置了所有邮件设置。

我需要在我的邮件程序类中添加mettod:

 def congrats(user, password)
  @user = user
   mail(:to => user.email,
     :subject => 'Congrats message')
  end

我将使用http://railscasts.com/episodes/206-action-mailer-in-rails-3 railscast来执行此操作

但我应该在哪里打电话给恭喜方法?在after_sign_up_path_for中还是没有?什么是最佳做法?

1 个答案:

答案 0 :(得分:2)

我认为麻烦的做法是不要用一堆不同的电子邮件向用户发送垃圾邮件。但是,实现此目的的最简单方法是为您的Devise模型打开confirmable。然后将您的欢迎信息放入确认电子邮件中。

如果您没有使用确认信息,或者只是因为只有一封电子邮件而无法使用,那么为什么不将它放在Devise模型的回调中呢?

after_create :congrats_email

def congrats_email
  mail(to: self.email, subject: "Welcome Message")
end

这两种方法都很容易实现,您只需要决定哪种方法最适合您的用户。