我昨天注册了一个新的Gmail帐户,我可以登录浏览器和电子邮件客户端软件.
然后我在config / environments / production.rb文件中配置话语:
config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { :address => "smtp.gmail.com",:port => "587",:user_name => "smtp4shuzu@gmail.com",:password => "12345678",:authentication => :plain,:domain => "shuzhu.org",:enable_starttls_auto => true }
nohup bundle exec sidekiq > log/sidekiq.log 2>&1 &
然后在生产模式中开始讨论:
rails server -e production -d
但它不起作用.我可以在sidekiq.log中看到一些错误:
2013-03-01T03:06:02Z 30687 TID-qib28 WARN: {“retry”=>true,“queue”=>”default”,“class”=>”Jobs::UserEmail”,“args”=>[{“type”=>”signup”,“user_id”=>42,“email_token”=>”b40a21ece2b14586e346abfd96685975”,“current_site_id”=>”default”}],“jid”=>”558bb6bd5aa36cfc8d3d1e91”,“error_message”=>”Connection refused – connect(2)”,“error_class”=>”Errno::ECONNREFUSED”,“Failed_at”=>2013-03-01 03:06:02 UTC,“retry_count”=>0}
2013-03-01T03:06:02Z 30687 TID-qib28 WARN: Connection refused – connect(2)
2013-03-01T03:06:02Z 30687 TID-qib28 WARN: /home/discourse/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/net/smtp.rb:540:ininitialize'
open’
/home/discourse/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/net/smtp.rb:540:in
/home/discourse/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/net/smtp.rb:540:in `tcp_socket’
我尝试过各种smtp设置,但没有一个能够正常工作.
更新:
Per @ Basil的答案,我刚试过:
config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { :address => "smtp.gmail.com",:port => 587,:user_name => "smtp4shuzu",:authentication => "plain",:enable_starttls_auto => true }
但它有同样的错误.域shuzu.org是我的网站的域名,我在想我应该将它传递给smtp.现在我删除了它,但仍然无法正常工作.
解决方法
我应该在生产模式下启动sidekiq:
nohup bundle exec sidekiq -e production > log/sidekiq.log 2>&1 &