2012-01-08 3 views
2

Я хочу использовать рубиновый шрифт Ruby/Mikel Mail для доступа к pop3, но я застрял, найдя способ SELECTTIVELY удалять письма с сервера. Вот несколько примеров неправильных примеров, которые объясняют, как я неправильно понимаю предоставляемые спецификации rdoc.Как удалить определенную почту на сервере по почте ruby ​​/ mikel?

require 'rubygems' 
require 'mail' 

Mail.defaults do 
    retriever_method :pop3, { :address => '...',       
        :user_name => '...', 
        :password => '...' }       
end 


puts "#{Mail.all.length} messages on server found." 
if Mail.all.length > 0 
    mm = Mail.first 
    puts mm.from 
    puts "I delete all but the first mail!" 

    mm.mark_for_delete = false 
    Mail.find_and_delete 

    puts "#{Mail.all.length} messages on server found." 
end 

В результате 2 письма на сервере этот сценарий просто удаляет оба. Вместо этого я хочу, чтобы он удалял первый.

ответ

5

Найдено это сам, ответ для вас, если вы смотрите на такой же проблемой ..

Оказывается, вы должны бросить блок на find_and_delete(), явно решили пропустить удаление сообщений, просто:

Mail.find_and_delete({:what=>:first}) { |msg| 
    msg.skip_deletion if msg.subject == "test1826" 
}