Mega Code Archive

 
Categories / Ruby / Network
 

Search mail server

require 'net/imap' class Net::IMAP   def get_msg_info(msg_sequence_num)     # code we used above     fetch_result = fetch(msg_sequence_num, '(UID ENVELOPE)')     envelope = fetch_result[0].attr['ENVELOPE']     uid = fetch_result[0].attr['UID']     info = {'UID'     => uid,             'Date'    => envelope.date,             'From'    => envelope.from[0].name,             'To'      => envelope.to[0].name,             'Subject' => envelope.subject}   end end conn.search(['BEFORE', '01-Jan-2006',              'SINCE', '01-Jan-2000']).each do |sequence|     conn.get_msg_info(sequence).each {|key, val| puts "#{key}: #{val}" } end