我正在尝试使用net/imap连接到我的邮件服务器,我得到了以下错误
回溯(最近一次调用):12:从/home/radoslav/.rbenv/versions/2.6.1/lib/ruby/2.6.0/net/imap.rb:1132:in
<main>' 11: from imap.rb:5:inmethod_name‘10:从imap.rb:5:innew' 9: from /home/radoslav/.rbenv/versions/2.6.1/lib/ruby/2.6.0/net/imap.rb:1089:in初始化’8:从imap.rb:5:intcp_socket' 7: from /home/radoslav/.rbenv/versions/2.6.1/lib/ruby/2.6.0/socket.rb:631:intcp‘6: from /home/radoslav/..rbenv/versions/2.6.1/lib/ruby/2.6.0/socket.rb:227:inforeach' 5: from /home/radoslav/.rbenv/versions/2.6.1/lib/ruby/2.6.0/socket.rb:227:ineach‘4: from /home/radoslav/.rbenv/versions/2.6.1/lib/ruby/2.6.0/socket.rb:641:inblock in tcp' 3: from /home/radoslav/.rbenv/versions/2.6.1/lib/ruby/2.6.0/socket.rb:137:inconnect’2: from /home/radoslav/.rbenv/versions/2.6.1/lib/ruby/2.6.0/socket.rb:56:在/home/radoslav/.rbenv/versions/2.6.1/lib/ruby/2.6.0/socket.rb:1213:in‘_connect_nonblock:connect_internal' 1: from /home/radoslav/.rbenv/versions/2.6.1/lib/ruby/2.6.0/socket.rb:1213:inconnect_nonblock’_connect_nonblock:Networkfor2a00:1450:400C:C07:6d:143 (Errno::ENETUNREACH)
这是我使用的代码:
require 'net/imap'
def method_name
imap = Net::IMAP.new('imap.gmail.com')
imap.authenticate('LOGIN', 'my.name.here@gmail.com', 'mypasshere')
imap.examine('INBOX')
imap.search(["RECENT"]).each do |message_id|
puts "#{message_id}"
end
puts "Hello"
end
method_name()我怀疑这与系统有关,而非创业板本身,但无法在互联网上找到解决方案。
这台机器确实可以上网。
radoslav@radoslav-VirtualBox:~/Documents/Ruby/imap$ telnet imap.gmail.com 993
Trying 74.125.140.109...
Connected to gmail-imap.l.google.com.发布于 2019-08-05 14:21:44
基于错误回溯,它试图通过tcp端口143连接:
Network is unreachable - connect(2) for [2a00:1450:400c:c07::6d]:143你通过993测试了它:
radoslav@radoslav-VirtualBox:~/Documents/Ruby/imap$ telnet imap.gmail.com 993143是基于docs的imap的默认值,因此更改这一行以传递正确的端口号:
imap = Net::IMAP.new('imap.gmail.com', port: 993)https://stackoverflow.com/questions/57358883
复制相似问题