2011-11-02 34 views
1

我嘗試爲rails 3應用程序和devise設置郵件程序。該應用程序正在開發中。該應用程序應發送一封電子郵件「我忘記了我的密碼」。在config/enviroment/development我說:使用rails 3.1.0和devise(win7)時出錯的auth類型

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

###

require 'tlsmail' 

Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE) 

ActionMailer::Base.delivery_method = :smtp 

ActionMailer::Base.perform_deliveries = true 

config.action_mailer.smtp_settings = { 

    :enable_starttls_auto => true, 
    :address => "smtp.gmail.com", 
    :port => 587, 
    :domain => "tatutest.com", 
    :tls => true, 
    :authentication => :plain, 
    :user_name => "****@gmail.com", 
    :password => "****" 

} 

config/initializers/devise我改變了config.mailer_sender:

config.mailer_sender = "****@gmail.com" (like :user_name in development) 

當我嘗試過的觀點發送郵件我得到錯誤:

ArgumentError in Devise::PasswordsController#create 
wrong auth type tatutest 

我不知道它是否重要,但域名「tatutest.com」不存在!

希望你能幫助我!

回答

0

您的action_mailer config是rails如何與實際發送電子郵件的程序對話。

如果它設置爲嘗試訪問不存在的域上的郵件程序......以及它不起作用。您必須將action_mailer指向實際的郵件程序。對於開發環境 - 這將是您在自己的計算機上使用的任何電子郵件程序。

+0

爲什麼這聽起來對我來說很不對勁? –

+0

錯在哪兒? :) –

相關問題