新手问题 Rails 4.1 在生产环境下使用 resque_mailer 出现 hostname 无法解析的问题

5swords · 2014年11月21日 · 1581 次阅读

错误: E, [2014-11-20T15:45:57.661886 #19135] ERROR -- : Unable to deliver email [confirmation]: getaddrinfo: No address associated with hostname E, [2014-11-20T15:45:57.661972 #19135] ERROR -- : /usr/lib/ruby/2.1.0/net/smtp.rb:541:in 'initialize' /usr/lib/ruby/2.1.0/net/smtp.rb:541:in 'open' /usr/lib/ruby/2.1.0/net/smtp.rb:541:in 'tcp_socket'

环境: 同 campo

问题说明: 原来是可以发邮件的,域名为 a.org,后来改为 b.org 同时 a.org 域名停用。结果在配置文件 config.yml 里改好相应的域名后,总是出现上面的问题。

坑 1: 生产环境用 bundle install 安装 gem 时安装了 spring,所以读的配置是老的,也就是 a.org,当然会 hostname 无法解析。 见 rails 组的讨论 https://github.com/rails/spring/issues/318 解决的方法是在生产环境下 bundle install --without development test 查看是否有问题的话,用 gem list spring 看下,没有就对了

坑 2: UserMailer 使用了 resque_mailer,如果邮件配置改动了,resque workers 必须重启。

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号