2

我正在尝试使用我的 gmail 在一个非常简单的 ruby​​ 脚本中发送电子邮件。这是应该向我发送电子邮件的RECEIVER部分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,但我不确定我是在更新之前还是之后测试了脚本。这可能有关系吗?

有谁知道这里发生了什么以及可能的解决方案?

4

1 回答 1

1

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

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

于 2013-01-30T22:39:27.863 回答