发送注册邮箱的最佳方式(DEVISE)

时间:2013-04-08 00:40:45

标签: ruby-on-rails devise

Devise允许您在此处自定义邮件程序。 https://github.com/plataformatec/devise/wiki/How-To:-Use-custom-mailer

但是,我也可以像这里一样创建自己的动作管理器。 http://railscasts.com/episodes/206-action-mailer-in-rails-3

当用户在我的网站上注册时,我想发送两封不同的电子邮件,一封给我自己注册信息,另一封给用户,感谢他们注册。

最好的方法是什么?或者是否有一种设计方法可以让我这样做?我想在创建用户后在模型中创建一个钩子(回调)。但是,这意味着如果我手动创建记录,也会发送注册电子邮件。如果我手动创建用户,我不希望发送电子邮件。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

您可以进行回调,例如after_create :send_email_to_admin

def send_email_to_admin
  # your implementation
end

您还会设置一个条件,因此当您自己手动创建记录时,它不会发送电子邮件。我不认为Devise提供这样的选择。

答案 1 :(得分:1)

如果您不想向手动创建的用户发送电子邮件,则有3个解决方法。

  1. 首先创建用户,然后添加钩子。

  2. 在手动创建的用户的电子邮件中添加特殊模式。说(.*)-very-weird-suffix@weired-email.com。你可以在钩子里判断这个模式。

  3. 在users表中添加一个字段,以检查该帐户是否由您创建。我真的不建议这样做,除非创建帐户是你日常工作的一部分。