在说 smtp.start 时获取“`initialize': getaddrinfo: nodename nor servname provided, or not known (SocketErr
Posted
技术标签:
【中文标题】在说 smtp.start 时获取“`initialize\': getaddrinfo: nodename nor servname provided, or not known (SocketError)”【英文标题】:Getting "`initialize': getaddrinfo: nodename nor servname provided, or not known (SocketError)" when saying smtp.start在说 smtp.start 时获取“`initialize': getaddrinfo: nodename nor servname provided, or not known (SocketError)” 【发布时间】:2013-01-28 14:47:58 【问题描述】:我正在尝试使用我的 gmail 在一个非常简单的 ruby 脚本中发送电子邮件。这是应该向RECEIVER
from SENDER
发送电子邮件的部分,这就是我。对于PASSWD
我使用我的gmail密码。
smtp = Net::SMTP.new 'smtp.gmail.com', 587
smtp.enable_starttls
smtp.start('gmail.com', SENDER, PASSWD, :login)
smtp.send_message message, SENDER, RECEIVER
smtp.finish
现在,我总是收到这个错误:
/Users/David/.rvm/rubies/ruby-1.9.3-p374/lib/ruby/1.9.1/net/smtp.rb:540:in `initialize': getaddrinfo: nodename nor servname provided, or not known (SocketError)
from /Users/David/.rvm/rubies/ruby-1.9.3-p374/lib/ruby/1.9.1/net/smtp.rb:540:in `open'
from /Users/David/.rvm/rubies/ruby-1.9.3-p374/lib/ruby/1.9.1/net/smtp.rb:540:in `tcp_socket'
from /Users/David/.rvm/rubies/ruby-1.9.3-p374/lib/ruby/1.9.1/net/smtp.rb:549:in `block in do_start'
from /Users/David/.rvm/rubies/ruby-1.9.3-p374/lib/ruby/1.9.1/timeout.rb:68:in `timeout'
from /Users/David/.rvm/rubies/ruby-1.9.3-p374/lib/ruby/1.9.1/timeout.rb:99:in `timeout'
from /Users/David/.rvm/rubies/ruby-1.9.3-p374/lib/ruby/1.9.1/net/smtp.rb:549:in `do_start'
from /Users/David/.rvm/rubies/ruby-1.9.3-p374/lib/ruby/1.9.1/net/smtp.rb:525:in `start'
奇怪的是它在一两天前就起作用了,而我没有更改脚本。
不过,我在过去两天内确实更新了 Ruby 和 Rails,但我不确定我是在更新之前还是之后测试了脚本。会不会有关系?
有没有人知道这里发生了什么以及可能的解决方案?
【问题讨论】:
抱歉,在发布这个问题后,我意识到我不小心在 Hands Off 中阻止了对 smtp.google.com 的访问!我的错。所以,这个问题现在解决了,一切正常。 【参考方案1】:我将在这里回答我的问题,因为我发现了导致此错误的原因,因此它不会显示为未回答。
所以,在发布这个问题后,我意识到我不小心在 Hands Off 中阻止了对 smtp.google.com 的访问!我的错。所以,这个问题现在已经解决了,一切正常。
【讨论】:
以上是关于在说 smtp.start 时获取“`initialize': getaddrinfo: nodename nor servname provided, or not known (SocketErr的主要内容,如果未能解决你的问题,请参考以下文章