ruby-on-rails - 无法使用 gmail smtp 服务器发送邮件(在讨论中)

标签 ruby-on-rails smtp gmail discourse

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

我昨天注册了一个新的gmail帐户,我可以登录浏览器和电子邮件客户端软件。

然后我在文件 config/environments/production.rb 中配置 discourse:

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:inopen' /home/discourse/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/net/smtp.rb:540:in `tcp_socket'



我尝试了各种 smtp 设置,但没有一个有效。

更新 :

根据@Basil 的回答,我刚刚尝试过:
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
  :address   => "smtp.gmail.com",
  :port      => 587,
  :user_name => "smtp4shuzu",
  :password  => "12345678",
  :authentication => "plain",
  :enable_starttls_auto => true
}

但它有同样的错误。域 shuzu.org 是我网站的域,我想我应该将它传递给 smtp。现在我删除了它,但仍然无法正常工作。

最佳答案

终于,我找到了(愚蠢的)原因。

我应该开始 sidekiq在生产模式下:

nohup bundle exec sidekiq -e production > log/sidekiq.log 2>&1 &

关于ruby-on-rails - 无法使用 gmail smtp 服务器发送邮件(在讨论中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15149942/

相关文章:

ruby-on-rails - cucumber 长?

ruby-on-rails - 邪恶的 PDF : How to remove top margin from COVER page?

http - 在电子邮件中使用协议(protocol)相对 URL 是否安全?

ruby-on-rails - has_many 到 has_many 到 has_many 的关系

javascript - 关于删除无关信息的 Rails 自动完成问题

php - 无法连接到 "localhost"端口 25 的邮件服务器

objective-c - 无法获取SMTP代码进行编译

php - 使用gmail smtp服务器发送电子邮件时smtp.gmail.com vs ssl ://smtp. gmail.com

google-api - 如何在安全限制下通过 Gmail(机器-2-机器)发送服务电子邮件?

email - 考虑到每封邮件都应用了标签,两个人如何使用同一个 Gmail 帐户并为每个用户过滤传入的电子邮件?