让Devise 1.3.4在开发中使用Gmail发送电子邮件

我正在尝试设置设计1.3.4,以便在开发模式下通过Gmail发送电子邮件。 我应该提一下,我使用的是Rails 3.0.4和Ruby 1.9.2p136。

我在config / environments / development.rb中尝试了以下内容:

config.action_mailer.raise_delivery_errors = true config.action_mailer.perform_deliveries = true config.action_mailer.default_url_options = { :host => 'mydomain.com' } ActionMailer::Base.smtp_settings = { :address => "smtp.gmail.com", :port => 587, :domain => "mydomain.com", :user_name => "info", :password => "secret", :authentication => "plain", :enable_starttls_auto => true } 

在config / initializers / devise.rb中我改变了

  config.mailer_sender = "please-change-me-at-config-initializers-devise@example.com" 

  config.mailer_sender = "info@mydomain.com" 

然后我试了一下

http://yekmer.posterous.com/devise-gmail-smtp-configuration

它仍然无法正常工作。

是否有关于如何让邮件工作的维基页面? 我在日志中看到了电子邮件,看起来很棒! 链接工作等…我只想在我的电子邮件帐户中看到它们。


编辑

我找到了答案 – 我使用了http://yekmer.posterous.com/devise-gmail-smtp-configuration – 当我把它放在配置/环境中时,我一直把这些代码放在config / intializers / devise.rb中/development.rb。

你试过这个吗?

 config.action_mailer.default_url_options = { :host => 'localhost:3000' } ActionMailer::Base.smtp_settings = { :address => "smtp.gmail.com", :port => 587, :domain => "gmail.com", :user_name => "myinfo@gmail.com", :password => "secret", :authentication => "plain" # :enable_starttls_auto => true # I don't have this, but it should work anyway } 

——— 编辑

它发送可能你没有收到它因为垃圾邮件filter,首先要检查:

 class UserMailer < ActionMailer::Base default :from => "myinfo@gmail.com" # ... end 

你应该把它放在设计初始化器中:

 # Configure the class responsible to send e-mails. config.mailer = "YourAppDeviseMailer" 

然后创建一个扩展Devise :: Mailer的类:

 class YourAppDeviseMailer < Devise::Mailer default :from => 'your_email' def self.mailer_name "devise/mailer" end end 

我想你可以在config / initializers / devise.rb中更改它。 我觉得不需要新的课程吗?

 #config/initializers/devise.rb config.mailer_sender = 'youremail@gmail.com' 

检查ActionMailer :: Base.delivery_method的值是否为:smtp