2012-02-15 5 views
0

私は次のことをしようとしていますが、Imap::newがあまりにも多くのパラメータパラメーターが多すぎます::新しい

require 'rubygems' 
require 'highline/import' 
require 'net/imap' 

puts "username" 
username = gets 
password = ask("Enter password: ") { |q| q.echo = false } 

imap = Net::IMAP.new('imap.gmail.com', {:port => '993', :ssl => true}) 

puts "connecting to imap server" 

imap.login(username, password) 
imap.select('INBOX') 
imap.select('INBOX') 
imap.search(["NOT", "DELETED"]).each do |message_id| 
    envelope = imap.fetch(message_id, "ENVELOPE")[0].attr["ENVELOPE"] 
    puts "#{envelope.from[0].name}: \t#{envelope.subject}" 
    i += 1 
    Process.exit if i>10 
end 

エラーについて不平を言っている:

/Users/username/.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/net/imap.rb:1101:in `get_tagged_response': Too many arguments provided ci7if1523987wib.93 (Net::IMAP::BadResponseError) 
    from /Users/username/.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/net/imap.rb:1153:in `block in send_command' 
    from /Users/username/.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize' 
    from /Users/username/.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/net/imap.rb:1135:in `send_command' 
    from /Users/username/.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/net/imap.rb:419:in `login' 
    from pull.rb:13:in main 

任意のアイデア?

答えて

0

これはところで

imap = Net::IMAP.new('host', 993, true) // host, port, ssl 
imap.login('IMAP_USERNAME', 'IMAP_PASSWORD') 
imap.select('INBOX') 

トリックを行う必要があります。あなたはINBOXを2回選択しています:)

+0

これは問題を引き起こすIMAP.newではありません。 13のログイン呼び出しです。おそらくusernameまたはpasswdはnilです。 –

+0

余分なINBOX呼び出しは別のサンプルからコピーするだけです。私はusername.nilを置くとき? はpassword.nilを挿入しますか?私はまだ両方のために偽になる? –

+0

まだ引数が多すぎます –

関連する問題