连接到Yahoo!来自Ruby的邮件

时间:2011-08-31 08:10:08

标签: ruby email imap yahoo pop3

我尝试连接邮件Yahoo!来自Ruby的帐户使用net / imap和net / pop。但我随机获得错误EOFile(来自IMAP)或连接被拒绝/重置(来自POP)。有没有人试图连接到Yahoo!邮件并有一些经验吗?

1 个答案:

答案 0 :(得分:1)

在连接到Yahoo时,ruby的net / imap库中存在一个错误。 修复很简单,并在此处描述:

http://redmine.ruby-lang.org/issues/4509

基本上,编辑imap.rb并从:

更改search_response方法的内部循环
        token = lookahead
        case token.symbol
        when T_CRLF
          break
        when T_SPACE
          shift_token
        end
        data.push(number)

为:

        token = lookahead
        case token.symbol
        when T_CRLF
          break
        when T_SPACE
          shift_token
        else
          data.push(number)
        end

然后使用以下代码进行测试:

require 'net/imap'
Net::IMAP.debug = true
conn = Net::IMAP.new('imap.mail.yahoo.com', 143, false)
conn.instance_eval { send_command('ID ("GUID" "1")') }
conn.authenticate('LOGIN', ARGV[0], ARGV[1] )
conn.select("INBOX")
uids = conn.uid_search(['ALL'])
puts uids.join(',')
conn.logout
conn.disconnect