ActiveAdmin未发送密码确认说明

时间:2012-02-02 15:13:44

标签: ruby-on-rails-3.1 activeadmin

我最近安装了ActiveAdmin,我正在使用User模型。在我创建了初始AdminUser后,我尝试添加另一个AdminUser,它应该发送一封电子邮件来设置密码,但它无法发送电子邮件。

我在配置/开发文件夹中有这个代码

config.action_mailer.default_url_options = { :host => 'localhost:3000' }

这在我的AdminUser模型中

after_create { |admin| admin.send_reset_password_instructions }
def password_required?
 new_record? ? false : super
end

不确定为什么我不发送电子邮件给我更改密码。

1 个答案:

答案 0 :(得分:2)

您遇到问题,因为您没有配置任何服务器来发送电子邮件。 你正走在正确的道路上。只需添加以下内容。

请在app / Gemfile中添加以下行并运行bundle install。

gem "letter_opener"

然后将以下行添加到config / enviornments / development.rb

  config.action_mailer.delivery_method = :letter_opener

以上代码将帮助您在浏览器中查看结果,实际上并不会发送电子邮件。

要发送实际的电子邮件,您需要更改以下行,并需要添加smtp代码。(smtp服务器)

config.action_mailer.delivery_method = :smtp

然后在上面的行下方添加以下行:

  config.action_mailer.smtp_settings = {
    :address              => "smtp.sendgrid.net",
    :port                 => 587,
    :domain               => 'gmail',
    :user_name            => 'gmail username',
    :password             => 'gmail password',
    :authentication       => 'plain',
    :enable_starttls_auto => true
  }