2012-02-15 7 views
0

Я пытаюсь следующее, но Imap::new жалуется слишком много параметровСлишком много параметров на Imap :: новые

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 :)

+0

Это не IMAP.ново, что вызывает проблему, которая вызывает меня правильно! Это логин: 13. Возможно, имя пользователя или passwd равно нулю. –

+0

дополнительный вызов INBOX - это просто копирование с другого образца. когда я помещаю username.nil? ставит пароль.nil? Я все еще ошибаюсь для обоих? –

+0

Я все еще получаю «Слишком много аргументов» –

Смежные вопросы