Rails / Sendgrid错误:getaddrinfo:名称或服务未知

时间:2016-04-12 13:12:45

标签: ruby-on-rails ruby amazon-ec2 sendgrid

在我的应用中创建用户时,我突然开始收到此错误。在我离开度假之前电子邮件正在工作,现在我回来了,这是我的技术支持给我的!啊。

因此,我创建了一个用户,并在闪存通知中将以下错误重定向到我的管理面板:getaddrinfo: name or service not known未创建用户。

查看日志,看起来一切正常:

I, [2016-04-12T08:01:52.089647 #11555]  INFO -- : Started POST "/admin/user/new" for 72.238.202.193 at 2016-04-12 08:01:52 -0500
I, [2016-04-12T08:01:52.092114 #11555]  INFO -- : Processing by RailsAdmin::MainController#new as HTML
I, [2016-04-12T08:01:52.092259 #11555]  INFO -- :   Parameters: {"utf8"=>"✓", "authenticity_token"=>"vxhuTwXhQo6nYrskQcYH9W56Ej95LgzEbs8cnkjXQI4=", "user"=>{"company_id"=>"35", "username"=>"myuser@thedomain.com", "first_name"=>"Test", "last_name"=>"User", "full_name"=>"Test User", "time_zone"=>"Central Time (US & Canada)", "email"=>"myuser@thedomain.com", "phone_number"=>"", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", "reset_password_sent_at"=>"[FILTERED]", "remember_created_at"=>"", "sign_in_count"=>"0", "current_sign_in_at"=>"", "last_sign_in_at"=>"", "current_sign_in_ip"=>"", "last_sign_in_ip"=>"", "authentication_token"=>"", "enable_notifications"=>"1", "confirmation_token"=>"MBrmpsD6Wtf1VBrhtDyc", "confirmed_at"=>"", "confirmation_sent_at"=>"April 12, 2016 10:00", "unconfirmed_email"=>"myuser@thedomain.com", "terms_accepted"=>"1", "cancel_subscription"=>"0", "on_trial"=>"0", "is_account_owner"=>"1", "role_ids"=>["", "", "2"]}, "return_to"=>"https://www.myserver.com/admin/user?sort=created_at&sort_reverse=false", "_save"=>"", "model_name"=>"user"}
I, [2016-04-12T08:01:52.212064 #11555]  INFO -- :   Rendered devise/mailer/confirmation_instructions.html.erb (1.6ms)
I, [2016-04-12T08:01:52.340343 #11555]  INFO -- : 
Sent mail to myuser@thedomain.com (9.3ms)

我已经过滤了电子邮件地址,但请放心,这是一封有效的电子邮件。

我正在使用EC2托管我的应用程序,因此我无法编辑/etc/resolv.conf,因为任何更改都将被覆盖。

我运行nslookup以确保服务器可以使用/etc/resolv.conf中指定的名称服务器找到域MX记录。

我还可以采取哪些措施来解决此问题?

1 个答案:

答案 0 :(得分:0)

我使用了我在另一个博客上运行的推荐来使用Ruby的Resolv版本而不是使用Ubuntu的libc库。因此,我将以下行添加到初始值设定项:require resolv-replace.rb

现在我的错误更具描述性:Hostname not known: smtp.sendgrid.net,所以我检查了config/environments/production.rb,结果发现我的主机行末尾有一个尾随空格。删除它,现在一切正常!