net/pop で Yahoo! メールに over SSL(465/tcp) でつなぐ
ruby 1.8.7 の net/pop を使って Yahoo! メールからメールを取得しようとしたものの、以下のエラーが出て先に進みません。
OpenSSL::SSL::SSLError SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
IMAP4 over SSL では問題のない gmail も POP3 over SSL では同じ状況。ググってみても net/pop での例は無く、近いところで http の場合 の記事があるくらい。色々試してみていたら、Net::POP3.enable_ssl の引数に :verify_mode が指定できるようなので、ここで OpenSSL::SSL::VERIFY_NONE を指定してとりあえずクリア。
Net::POP3.enable_ssl({:verify_mode => OpenSSL::SSL::VERIFY_NONE}) Net::POP3.start(config[:imap][:host], config[:imap][:port], config[:account], config[:password]) do |pop| ... end
とりあえずはコレでよいけど、後で真っ当な解を考えなくては。