Ruby 获得`初始化';:getaddrinfo:nodename或servname已提供,或未知(SocketError)";当说smtp.start时
我正试图用我的gmail在一个非常简单的ruby脚本中发送一封电子邮件。这是应该从Ruby 获得`初始化';:getaddrinfo:nodename或servname已提供,或未知(SocketError)";当说smtp.start时,ruby,email,smtp,gmail,Ruby,Email,Smtp,Gmail,我正试图用我的gmail在一个非常简单的ruby脚本中发送一封电子邮件。这是应该从发送者向接收者发送电子邮件的部分,即我。对于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
发送者
向接收者
发送电子邮件的部分,即我。对于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,我不确定是在更新之前还是之后测试了脚本。这有关系吗
是否有人知道这里发生了什么以及可能的解决方案?我将在这里回答我的问题,这样在我发现导致此错误的原因后,问题就不会显得没有答案了
所以,在发布了这个问题之后,我意识到我无意中阻止了对smtp.google.com的访问!我的错。所以,这个问题现在已经解决了,一切正常。抱歉,在发布这个问题后,我意识到我无意中阻止了对smtp.google.com的访问!我的错。所以,现在这个问题已经解决了,一切都正常运转。