2012-02-02 54 views
1

我最近安裝了ActiveAdmin,我正在使用User模型。在我創建初始AdminUser後,我嘗試添加另一個AdminUser,並且它應該發送一封電子郵件來設置密碼,但它未能發送電子郵件。ActiveAdmin不發送密碼確認說明

我有這樣的代碼在我的配置/文件夾的發展

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 

不知道爲什麼它不發送電子郵件爲我改變我的密碼。

回答

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 
    }