微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 无法使用gmail stmp服务器发送邮件(在话语中)

我正在尝试设置 discourse,这是一个rails3 webapp,但在使用gmail smtp服务器配置smtp时遇到一些问题.

我昨天注册一个新的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
}

启动用于在后台发送邮件的sidekiq:

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:in initialize'
/home/discourse/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/net/smtp.rb:540:in
open’
/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 &

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐