По сути, вам просто нужно написать свой обработчик электронной почты, и весь анализ будет сделан для вас за кулисами:
class MailHandler < ActionMailer::Base
def receive(email)
# here you will have an email object and will be able to call methods like
# email.subject and email.attachments
puts "from: #{email.from}, subject: '#{email.subject}'"
end
end
Когда вы получаете электронные письма, используя Net :: POP3, просто передайте их вашему обработчику:
Net::POP3.start(server, port, username, password) do |pop|
pop.each_mail { |mail| MailHandler.receive(mail.pop) }
end