我正在尝试使用我的 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,但我不确定我是在更新之前还是之后测试了脚本。这可能有关系吗?
有谁知道这里发生了什么以及可能的解决方案?