All pastes #923282 Raw Edit

Stuff

public text v1 · immutable
#923282 ·published 2008-02-29 12:53 UTC
rendered paste body
imap = Net::IMAP.new(server)
imap.login(user, pass)
all_mailboxes = imap.list("", "*")
puts "Found " + all_mailboxes.length.to_s + " mailboxes"

# loop through every mailbox
all_mailboxes.each do |mailbox|

  mailbox_messages_by_size = Array.new
  
  puts "Examining " + mailbox.name
  imap.examine(mailbox.name)

  # fetch the messages
  imap_uids = Array.new
  imap_sids = imap.search(["ALL"])
  puts "Found " + imap_sids.length.to_s + " messages in mailbox " + mailbox.name
  for sid in imap_sids
	msg = imap.fetch(sid, "BODY[TEXT]")[0]  
	body = msg.attr["BODY[TEXT]"]  
	ups = /(1Z ?[0-9A-Z]{3} ?[0-9A-Z]{3} ?[0-9A-Z]{2} ?[0-9A-Z]{4} ?[0-9A-Z]{3} ?[0-9A-Z]|[\dT]\d\d\d ?\d\d\d\d ?\d\d\d)/
	#fedex = /^\d{12,19}$/
	m = body.scan(ups)
	puts("-"*40)
	p m
	puts body
	m.each do |upsnum| 
		print "Found UPS Tracking Number: "
		puts upsnum[0]
		print "test"
	end
  end
end

imap.logout  
imap.disconnect