2

IMAP を使用しようとしていますが、機能しません。「https」でも同じことを試してみましたが、うまくいきました。


require 'net/imap' 
=> true
irb(main):002:0> Net::IMAP.new("xxx", 993, true).login("redmine", "redmine")
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
    from /usr/local/lib/ruby/1.9.1/net/imap.rb:1439:in `connect'
    from /usr/local/lib/ruby/1.9.1/net/imap.rb:1439:in `start_tls_session'
    from /usr/local/lib/ruby/1.9.1/net/imap.rb:1036:in `initialize'
    from (irb):2:in `new'
    from (irb):2
    from /usr/local/bin/irb:12:in `<main>'
irb(main):003:0> 

ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
gem -v 1.8.24

これは次のようになります: https://www.chiliproject.org/boards/1/topics/2076


openssl s_client -connect klevas.mif.vu.lt:imaps 

証明書の有効期限が切れていることを示しています。ただし、Ruby と Gem が同じである別のシステムでは、IMAP 接続は機能します。

4

2 に答える 2

3

ここで redmine について議論している場合、以下が役に立ちました。

lib/redmine/imap.rb の 29 行目に呼び出しがありました

imap = Net::IMAP.new(host, port, ssl)

/usr/lib/ruby/1.9.1/net/imap.rb から得た情報によると

    def initialize(host, port_or_options = {},
               usessl = false, certs = nil, verify = true)

に変更しました

imap = Net::IMAP.new(host, port, ssl, nil, false)

そしてエラーは消えました

于 2014-05-08T13:50:52.063 に答える