【问题标题】: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​​ 脚本中发送电子邮件。这是应该向RECEIVERfrom 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 的访问!我的错。所以,这个问题现在解决了,一切正常。

标签: ruby email smtp gmail


【解决方案1】:

我将在这里回答我的问题,因为我发现了导致此错误的原因,因此它不会显示为未回答。

所以,在发布这个问题后,我意识到我不小心在 Hands Off 中阻止了对 smtp.google.com 的访问!我的错。所以,这个问题现在已经解决了,一切正常。

【讨论】:

    猜你喜欢
    • 2012-11-15
    • 1970-01-01
    • 2016-01-24
    • 2020-01-23
    • 1970-01-01
    • 2017-02-20
    • 2013-06-13
    • 2019-12-18
    • 1970-01-01
    相关资源
    最近更新 更多