I am rather new to Ruby and I want to write a program to play around
with email. I can connect to my chosen pop3 server and iterate through
the mail relatively easily. But my question is how to I parse out the
mail? How do I access the From, Subject, and body? Are there any easy
way’s to do this in Ruby without adding lots of new programming
libraries (I found a couple that would make this really easy, but I
don’t want to drain my bank account by spending money on them), but I
can’t figure out how to do this in straight Ruby…
Do I have to parse out the entire message, or are there easy commands
in the normal net/pop3 library?
This is mostly pure speculation based on prior knowledge that hasn’t
been tested. But, try this:
require 'net/pop'
Net::POP3.start('pop.example.com', 110,
'YourAccount', 'YourPassword') do |pop|
if pop.mails.empty?
puts 'No mail.'
else
i = 0
pop.each_mail do |m| # or "pop.mails.each ..." /^From:
(.*?)$/.match(m.pop) # <—
puts $1
end
puts “#{pop.mails.size} mails popped.”
end
end
Everything that isn’t by the # <— is taken from the net/pop docs.